목차/차례
1. Android 애플리케이션의 라이프사이클에 대해 설명하세요.
2. Kotlin과 Java의 차이점에 대해 설명하고, 어떤 상황에서 Kotlin을 사용하는 것이 더 적합하다고 생각하나요
3. RecyclerView와 ListView의 차이점은 무엇인가요 각각의 장단점은 무엇인가요
4. Android에서 비동기 작업을 처리할 때 사용하는 방법과 그 이유를 설명하세요.
5. 안드로이드에서 네트워크 요청을 처리하는 방법에 대해 설명하고, Retrofit 또는 OkHttp를 사용한 경험이 있다면 구체적으로 이야기해 주세요.
6. 안드로이드 앱에서 메모리 누수(Memory Leak)을 방지하는 방법은 무엇인가요
7. Jetpack Compose와 기존 View 시스템의 차이점과 각각의 장단점은 무엇인가요
8. 앱의 성능 최적화를 위해 고려해야 할 요소들은 무엇이며, 이를 위해 어떤 기법을 사용했는지 설명해 주세요.
본문/내용
1. Android 애플리케이션의 라이프사이클에 대해 설명하세요.
안드로이드 애플리케이션의 라이프사이클은 액티비티의 상태 변화에 따라 크게 onCreate, onStart, onResume, onPause, onStop, onDestroy로 구분됩니다. 앱이 처음 실행되면 onCreate가 호출되어 레이아웃 초기화와 초기 데이터 로드가 이루어집니다. 이후 화면이 사용자에게 보여질 때 onStart와 onResume가 차례로 호출되며, 이 시점에 사용자 입력을 받거나 애니메이션이 작동됩니다. 사용자가 다른 앱으로 전환하거나 잠금 화면이 활성화되면 onPause와 onStop가 호출되어 리소스 해제와 상태 저장이 진행됩니다. 예를 들어, 2022년 구글 조사에 따르면 앱의 onPause와 onStop에서 적절한 리소스 관리를 하지 않으면 배터리 소모가 최대 20%까지 증가하는 사례가 보고되었으며, 이러한 관행은 사용자 경험과 앱 안정성에 큰 영향을 미칩니다. 앱이 다시 활성화될 때 onRestart와 onStart, onResume가 호출되어 이전 상태가 복구되고, 종료 시 onDestroy가 호출되어 리소스 해제와 정리작업이 수행됩니다. 이러한 생명 주기 관리를 바탕으로 효율적이고 안정적인 앱을 개발하는 것이 중요하며, 특히 발생…