개발/AOS
Activity 생명 주기
스몰스테핑
2024. 7. 18. 16:40
기본적으로 액티비티 생명주기는 다음과 같다.
onCreate() -> onStart() -> onResume() -> onPause() -> onStop() -> onDestory()
메소드 | 설명 | 다음 메소드 |
onCreate() | 액티비티 생성시 호출, 사용자 인터페이스 초기화에 사용 | onStart() |
onRestart() | 액티비티가 멈춘후 다시 시작되기 직전에 호출 | onStart() |
onStart() | 액티비티가 사용자에게 보여지기 직전에 호출 | onResume() / onStop() |
onResume() | 액티비티가 사용자와 상호작용하기 직전에 호출 | onPause() |
onPause() | 다른 액티비티가 보여질때 호출 데이터 저장, 스레드 중지 등의 처리를 하기 좋은 메소드 |
onResume() / onStop() |
onStop() | 액티비티가 더이상 사용자에게 보여지지 않을때 호출 메모리가 부족할 경우 onStop() 메소드가 호출되지 않을 수 있음 |
onRestart() / onDestory() |
onDestory() | 액티비티가 소멸될 때 호출 finish() 메소드가 호출되거나 시스템이 메모리 확보를 위해 액티비티 제거시 호출 |
X |
onStop()과 onDestory()의 경우 시스템 상태에 따라 호출되지 않을 수도 있다.
예를들어:
사용자가 앱을 사용하다 다른 앱을 확인하기 위해 화면 상단바를 내렸을 경우 -> 화면이 가려짐 = onPause()
상단바를 내린 상태에서 다른 앱을 클릭하여 이동할 경우 -> 화면이 없어짐 = onStop()
직후 바로 앱으로 돌아와 앱이 재시작될 경우 -> 재시작 = onStart() -> onRestart()
장시간 사용하지 않다가 앱을 실행하면 -> 프로세스 죽은상태 = onCreate()
Fragment Life Cycle
1. onAttach
2. onCreate
3. onCreateView
4. onPause
5. onStop
6. onDestoryView