목차/차례
1. Android 앱의 생명주기(lifecycle)에 대해 설명해주세요.
2. RecyclerView와 ListView의 차이점은 무엇인가요
3. Jetpack Compose를 사용할 때 주의해야 할 점은 무엇인가요
4. Android에서 데이터 저장을 위해 SharedPreferences와 SQLite의 차이점은 무엇인가요
5. 네트워크 통신을 할 때 Retrofit과 OkHttp의 역할과 차이점은 무엇인가요
6. 안드로이드 앱에서 비동기 처리를 위해 어떤 방식을 사용하는지 설명해주세요.
7. Android 앱의 메모리 누수(Memory Leak)를 방지하는 방법은 무엇인가요
8. 최신 안드로이드 개발 트렌드 또는 도구에 대해 알고 있는 것을 말씀해주세요.
본문/내용
1. Android 앱의 생명주기(lifecycle)에 대해 설명해주세요.
Android 앱의 생명주기는 액티비티와 프래그먼트의 상태 변화에 따라 여러 단계로 구분됩니다. 액티비티가 생성될 때 onCreate()가 호출되며, 이후 화면이 보여지기 시작하면 onStart()를 거치고 onResume()이 호출되어 사용자와 상호작용이 가능해집니다. 만약 다른 앱으로 포커스가 이동하거나 알람이 울릴 때, 액티비티는 onPause상태로 전환되고, 이때 데이터 저장이나 정리작업이 수행됩니다. 이후 액티비티가 화면에서 사라지거나 종료되면 onStop()이 호출되며, 필요시 시스템에서 리소스 해제 작업이 진행됩니다. 만약 액티비티가 다시 포그라운드로 복귀하면 onRestart()와 함께 다시 onStart()가 호출되어 재생성 과정을 거칩니다. 최종적으로 액티비티가 종료되면 onDestroy()가 호출되어 앱이 종료됩니다. 생명주기 관리의 중요성은 배터리 사용량과 앱 안정성에 직결되어, 구글 조사에 따르면 제대로 관리하지 못할 경우 충돌율이 15% 증가하는 것으로 나타났습니다. 이를 통해 개발자는 상태 변경 시 적절한 작업 처리와 자원 해제 전략을 세우는 것이 필수적임을 알 수 있습니다.
2. Recycle…