목차/차례
1. 안드로이드 애플리케이션의 생명주기(Lifecycle)에 대해 설명해 주세요.
2. MVC와 MVVM 패턴의 차이점과 각각의 장단점에 대해 말씀해 주세요.
3. 안드로이드에서 AsyncTask와 Coroutine의 차이점은 무엇인가요
4. RecyclerView를 사용할 때 성능 최적화를 위해 어떤 방법들을 고려할 수 있나요
5. 안드로이드에서 네트워크 통신을 위해 사용하는 라이브러리와 구현 방법을 설명해 주세요.
6. 안드로이드 앱 개발 시 보안 취약점을 방지하기 위한 주요 방법은 무엇인가요
7. ViewModel과 LiveData의 역할과 사용 사례에 대해 설명해 주세요.
8. 안드로이드 앱에서 메모리 누수(Memory Leak)를 방지하는 방법은 무엇인가요
본문/내용
1. 안드로이드 애플리케이션의 생명주기(Lifecycle)에 대해 설명해 주세요.
안드로이드 애플리케이션의 생명주기는 활동(Activity)이 생성되어 시작되는 onCreate()에서부터 종료되는 onDestroy()까지 다양한 상태를 거칩니다. 이 과정에서 활동은 시작(stopped), 일시 정지(paused), 재시작(resumed), 재개(restarted) 등 여러 단계로 전환됩니다. 예를 들어, 사용자가 앱을 열면 onCreate()와 onStart(), onResume()가 호출되고, 앱이 백그라운드로 이동하면 onPause()와 onStop()이 실행됩니다. 만약 시스템 또는 사용자가 앱을 종료하면 onDestroy()가 호출되어 자원을 해제하고 종료됩니다. 이러한 생명주기 관리는 배터리 수명과 메모리 자원 효율성을 위해 중요하며, 특히 사용자 경험 향상과 오류 방지에 큰 역할을 합니다. 예를 들어, 애플리케이션이 활동 재생성 과정에서 상태를 저장하지 않으면 데이터를 잃거나 재시작 시 불필요한 리소스 사용이 발생할 수 있습니다. 실제로 생명주기 관리를 적절히 수행한 앱은 크래시율이 15% 이상 감소하는 통계도 존재하며, 이는 사용자 만족도와 시스템 안정성 향상에 직결됩니다. 따라서 개발자는 생명주기 메서드를 …