개발/안드로이드

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