본문 바로가기

안드로이드48

화면을 회전할 때 viewModel의 onCleared가 호출되지 않는 이유 1. 요약 2. viewModel 2-1. 개념 2-2. viewModel은 언제 파괴될까? 1. 요약 🧑‍💻: Activity의 onDestroy가 호출되면 viewModel의 onCleared가 호출된다고 하셨는데 그러면 화면을 회전할 때 왜 viewModel의 onCleared가 호출되지 않을까요? 👨🏻‍🦱: if문으로 화면을 회전하는 경우를 따로 처리해주었기 때문입니다. 코드 내부를 들여다보면 알 수 있습니다. 2. viewModel 2-1. 개념 viewModel에 대해서는 예전에 자세히 정리해둔 포스팅이 있다. 요약하자면 "viewModel은 Activity와 독립적인 생명주기를 가지기 때문에 Activity가 onDestory 되어도 데이터를 유지할 수 있게 해준다"이다. 2-2. onDes.. 2022. 8. 26.
Observable Field와 LiveData의 차이가 무엇인가요? 1. 요약 2. LiveData 3. Observable 3-1. 개념 3-2. 사용법 4. 그래서 둘의 차이는? 5. LiveData가 무조건 좋은 걸까? 1. 요약 🧑‍💻: LiveData와 Observable Field의 차이가 무엇인가요? 👨🏻‍🦱: LiveData는 수명주기를 알고 있기 때문에 observer를 자동으로 관리하지만 Observable Field는 수명주기를 알지 못해 수동으로 관리해주어야 합니다. 그렇기 때문에 메모리 누수 면에서 LiveData가 유리하다고 할 수 있습니다. 2. LiveData LiveData는 Jetpack에서 지원하는 라이브러리이며 데이터를 관찰하고 있다가 변경 사항이 생기면 알려주는 아주 기똥찬 녀석이다. LiveData에 대해서는 정리해둔 게시글이 있으.. 2022. 7. 9.
Activity Intent Flag에 대해서 설명해 보세요 1. 요약 2. Task 2-1. 개념 2-2. Task 제어의 필요성 3. AndroidManifest에서의 제어 4. 소스 코드로 제어 5. 추가로 나올 수 있는 질문 5-1. 기존의 activity를 재사용하는 경우, 처음 진입하는 상황인지 다시 진입하는 상황인지 어떻게 구분하죠? 1. 요약 🧑‍💻: Activity Intent Flag에 대해 설명해 보세요. 👨🏻‍🦱: Activity의 중복 문제나 흐름을 제어하고 싶을 때 Intent Flag를 사용합니다. AndroidManifest에서 액티비티 태그 안에 flag를 설정하거나 소스 코드에서 intent에 addflag를 사용하여 제어할 수 있습니다. +) 좀 더 구체적인 상황을 주고 사용해야 할 flag를 물어보기도 하고 flag 몇 개 예시.. 2022. 7. 8.
lateinit과 by lazy의 차이가 무엇인가요? 1. 요약 2. 늦은 초기화란? 3. lateinit 4. by lazy 5. 정리 6. 추가로 나올 수 있는 질문 6-1. lateinit을 초기화하기 전 까지는 변수에 무슨 값이 들어있을까요? 6-2. 초기화를 하지 않고 실행하면 어떻게 될까요? 6-3. 왜 lateinit은 Primitive Type과 사용할 수 없을까요? 1. 요약 lateinit과 by lazy를 아시나요? 둘의 차이는 무엇인가요? lateinit과 by lazy는 늦은 초기화를 할 때 사용합니다. 다만 lateinit은 var로 선언해야 하며 언제든 값을 수정할 수 있지만 by lazy는 val로 선언해야 하므로 한 번 초기화를 하면 값을 변경할 수 없습니다. 또, 초기화 시점에 차이가 있습니다. lateinit은 선언 이후 .. 2022. 6. 22.
#9 파일은 저장 되는데 갤러리에 사진이 왜 안보이는거야! 1. 사건 배경 1-1. 상황 1-2. 새로운 정보 2. 시도해본 방법 2-1. 파일 삭제 후 저장 2-2. 이름 중복 피하기 3. Bitmap 이미지를 저장하는 새로운 방법 2022/01/02 개발 내용 1. 사건 배경 1-1. 상황 저번에 내가 겪은 문제는 이미지 파일이 저장되지 않는 문제였다. 굉장히 어이없는 실수로 생겨난 문제였지... 그 뒤로 잘 작동해서 음 문제가 없겠거니 했는데 출시하기 직전에 다른 폰으로 테스트해보는데 아뿔싸 문제가 있었다. 파일 탐색기로 들어가보면 사진이 분명히 있는데 갤러리에 들어가면 사진이 없다. 대체 이게 무슨 상황??? 내 머리로는 이해가 가지 않았다. 더더욱 이해가 안가는 것은 내가 어떤 기기를 쓰느냐, 어떤 경로를 택하냐, 어떤 이름 규칙을 사용하느냐에 따라 갤.. 2022. 1. 4.