본문 바로가기

전체 글12

안드로이드 신입 과제 면접 회고 [ 사족 및 소개 ] 21년도에 봤던 과제 면접 회고. 무려 2년뒤에 올림. 아이패드를 처분하면서 굿노트에 작성해뒀던걸 pdf로 옴기면서 다시 보게되니 너무 재밌음. ㅋㅋㅋㅋ [ 과제 리뷰 내용 ] gradle 에는 사용하는 라이브러리만 넣기 - 사용하지 않는 라이브러리를 넣으면 앱 빌드 시간이 늘어나고 앱이 무거워진다. (최초 빌드 시간만) - 사용하는 라이브러리의 용도를 분명하게 파악해야 한다. lazy init vs null init - 파라미터가 있더라도 파라미터가 확실하게 초기화가 먼저 된다면 null 초기화보다는 lazy init을 사용한다. - null을 최대한 안쓰기 위해서 lazy init을 해야할 멤버와 아닌 멤버를 명확히 구분한다. - 항상 초기화되는 멤버는 lazy init 할 필요.. 2023. 5. 6.
[Glide] 이미지 로딩 시 자동으로 이루어지는 다운 샘플링 다운 샘플링? : 비트맵(이미지)을 이미지의 본래 크기가 아닌, 뷰에서 실제로 필요로 하는 작은 크기로 조정하는 것 Glide를 통해 이미지뷰에 이미지를 로드하면 자동으로 이미지뷰에 맞춘 다운 샘플링이 이루어집니다. Glide에서 파라미터로 이미지뷰를 받기 때문에, 이미지뷰의 크기를 알 수 있어 가능합니다. 다운 샘플링은 Glide에서 이미지 파일(JPEG, PNG)을 디코딩해서 비트맵으로 만들 때, 이미지 파일의 본래 크기가 아닌 이미지뷰의 크기에 맞춰 비트맵을 생성하는 것으로 이루어집니다. 비트맵이 차지하는 메모리의 용량은 이미지의 크기에 비례하는데, 그래서 이미지의 크기가 크다면, 이미지의 용량과는 상관없이 이미지의 크기만큼 메모리를 필요로합니다. 하지만 대부분의 모바일 기기는 손바닥만한데, 보여.. 2022. 8. 10.
인텐트 필터 작성하고 테스트해보기 인텐트 필터가 있는 액티비티 시작하기 연락처를 보여주는 액티비티 인텐트 필터 액션 android.intent.action.VIEW 유저에게 정보를 표시합니다. action은 컴포넌트가 수행하는 작업입니다. 인텐트 필터에 action이 없으면 인텐트를 수신할 수 없습니다. 카테고리 android.intent.category.DEFAULT 카테고리는 암시적 인텐트를 수신하려면 포함해야합니다. 인텐트 필터에서 선언하지 않으면 액티비티에서 암시적 인텐트를 받을 수 없습니다. 데이터 데이터 테스트 데이터 테스트는 인텐트의 데이터 URI와 MIME 타입 둘다 필터 안에서 지정된 URI(scheme, host, path 등)과 MIME 유형과 비교합니다. 인텐트 필터와 인텐트는 서로 정의한게 매치되어야 테스트에 통과.. 2021. 11. 27.
Android Task Task Task는 유저가 앱을 사용하면서 생성된 액티비티 모음입니다. Task는 백 스택을 사용해 액티비티를 관리합니다. 액티비티는 시작되는 순서대로 백 스택에 정렬됩니다. Task의 기본 동작 테스크와 백 스택의 생성하기 사용자가 앱을 처음 시작하면 새 테스크가 생성됩니다. 앱의 액티비티가 새 테스크의 백 스택에 추가됩니다. 테스크의 백 스택에 새로운 액티비티 추가하기 startActivity로 새 액티비티가 시작되면 백 스택의 맨 위에 새 액티비티가 phsh(추가)됩니다. 백 스택에 있는 액티비티를 제거하기 사용자가 뒤로가기를 누르면 맨위에 있던 액티비티가 스택에서 pop(제거) 됩니다. 제거된 액티비티 밑에 있던 액티비티가 스택의 맨위가 됩니다. 맨위가 된 액티비티는 포그라운드 상태가 되고, 이전.. 2021. 11. 14.