목차/차례
1. 안드로이드 애플리케이션의 생명주기(Lifecycle)에 대해 설명하세요.
2. 액티비티와 프래그먼트의 차이점은 무엇인가요
3. 안드로이드에서 네트워크 요청을 수행할 때 고려해야 할 점은 무엇인가요
4. 안드로이드에서 UI 업데이트를 위한 최적의 방법은 무엇인가요
5. ViewModel과 LiveData의 역할과 차이점에 대해 설명하세요.
6. 안드로이드 앱에서 발생할 수 있는 메모리 누수의 원인과 방지 방법을 설명하세요.
7. 코틀린에서 람다(lambda)와 익명 함수(anonymous function)의 차이점은 무엇인가요
8. 안드로이드 앱의 퍼포먼스 최적화를 위해 어떤 방법들을 사용할 수 있나요
본문/내용
1. 안드로이드 애플리케이션의 생명주기(Lifecycle)에 대해 설명하세요.
안드로이드 애플리케이션의 생명주기는 액티비티와 프래그먼트의 상태 변화에 따라 다양한 콜백 메서드로 구성되어 있습니다. 애플리케이션이 시작될 때 onCreate()가 호출되며 초기 화면 설정과 리소스 할당이 이루어집니다. 사용자가 앱을 앞으로 가져오거나 뒤로 보낼 때 onStart(), onResume()가 차례로 호출되어 사용자 인터페이스가 활성화됩니다. 홈 버튼이나 전화 수신 등으로 인해 일시 정지 상태가 되면 onPause()가 호출되고, 이 시점에 데이터 저장이나 애니메이션 정지가 가능하게 설계됩니다. 애플리케이션이 화면에서 사라지거나 종료될 때 onStop()이 호출되고, 리소스 해제 작업이 진행됩니다. 시스템 강제 종료 시 onDestroy()가 호출되어 최종 정리 작업이 수행됩니다. 이 생명주기 관리는 배터리 효율성과 사용자 경험 향상에 중요한데, 실제로 수많은 앱에서 배터리 소모량을 평균 15% 절감하는 데 성공했으며, 적절한 상태 관리를 통해 크래시가 20% 이상 감소하는 사례도 있습니다. 따라서 개발자는 생명주기 콜백을 활용하여 유연하고 안정적인 앱을 설계하는 것이 필수적…