Android 생명주기는 앱의 Activity(액티비티) 가 실행되고 종료되기까지의 일련의 상태 변화 과정을 말합니다.
각 단계마다 호출되는 콜백 메서드가 존재하며, 이를 정확히 이해해야 앱이 비정상 종료되거나 데이터가 유실되는 문제를 방지할 수 있습니다.
주요 흐름 요약:
onCreate() → onStart() → onResume()onPause() → onStop()onRestart() → onStart() → onResume()onDestroy()👉 즉, onPause()와 onStop()은 앱이 일시 중단된 상태를 나타내며,onRestart()는 앱이 다시 활성화될 때 호출됩니다.
이 순서를 숙지해야 정상적인 복원 로직을 구현할 수 있습니다.
| 메서드 | 설명 |
|---|---|
| onCreate() | 액티비티가 처음 생성될 때 호출. UI 초기화, 데이터 세팅을 수행합니다. |
| onStart() | 화면에 나타나기 직전에 호출됩니다. |
| onResume() | 사용자 입력이 가능한 활성 상태로 진입합니다. |
| onPause() | 다른 액티비티로 전환될 때 호출. 데이터 저장에 적합합니다. |
| onStop() | 화면에서 완전히 사라질 때 호출. 리소스 해제를 처리합니다. |
| onDestroy() | 액티비티가 완전히 종료될 때 호출됩니다. 모든 자원을 정리해야 합니다. |
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Log.d("Lifecycle", "onCreate 호출")
}
override fun onStart() {
super.onStart()
Log.d("Lifecycle", "onStart 호출")
}
override fun onResume() {
super.onResume()
Log.d("Lifecycle", "onResume 호출")
}
override fun onPause() {
super.onPause()
Log.d("Lifecycle", "onPause 호출")
}
override fun onStop() {
super.onStop()
Log.d("Lifecycle", "onStop 호출")
}
override fun onDestroy() {
super.onDestroy()
Log.d("Lifecycle", "onDestroy 호출")
}
}
이 코드를 실행하고 Logcat에서 확인하면, 액티비티의 상태 전환 순서를 명확히 확인할 수 있습니다.
프래그먼트(Fragment)는 액티비티 내에서 동작하는 UI 단위로, 유사하지만 독립적인 생명주기를 가집니다.
주요 메서드는 다음과 같습니다.
복잡한 UI를 구성할 때 이 과정을 이해해야 오류 없는 화면 전환이 가능합니다.
Jetpack Compose는 선언형 UI이지만, 여전히 LifecycleOwner 개념이 존재합니다.rememberLifecycleObserver() 등을 활용해 컴포넌트의 상태를 안전하게 관리할 수 있습니다.
Android 생명주기를 이해하는 것은 앱 개발의 출발점입니다.
이 개념이 확실히 잡혀야 데이터 유실, 화면 깜빡임, 크래시 등의 문제를 줄이고 안정적인 앱을 개발할 수 있습니다.
✅ 한 줄 요약:
“Android 생명주기를 이해하면 앱의 품질이 달라집니다.”
Aluminium OS - Android가 PC로 향하는 이유와 의미 2025년 말, 구글이 내부 코드명 “Aluminium”로 불리는…
1. 2026년 기준중위소득이란? 2026년 기준중위소득은 대한민국 전체 가구의 중간 소득을 의미하며, 정부의 다양한 복지사업과 지원제도의…
월드컵 2포트 진입, 왜 이렇게 중요한가? 한국 축구 대표팀이 월드컵 2포트 진입을 목표로 국제 A매치를…
플러터 스키아 엔진 완전 이해: 왜 플러터는 스키아로 초고속 UI를 구현할까 플러터(Flutter)는 단 하나의 코드베이스로…
플러터 그리드 위젯 완벽 가이드 플러터(Flutter)는 하나의 코드베이스로 iOS, Android, Web까지 동시에 빌드할 수 있는…
Flutter 생명주기란 무엇인가? **Flutter 생명주기(Lifecycle)**란, 앱 실행 중 위젯이 생성되고 사라지기까지의 전 과정을 의미합니다.즉, Flutter…