안드로이드 액티비티 생명주기 단계의 순서는 다음과 같다.
onCreate → onStart → onResume → onPause → onStop → onDestroy → onRestart
이것은 안드로이드 앱이 액티비티를 생성하고 실행하여 종료하는 과정이다. 각 단계에서는 해당하는 생명주기 메서드가 호출되며, 각 상태 변화에 따라 앱의 동작을 관리하고 필요한 작업을 수행할 수 있다.
※ 액티비티(Activity) : 사용자 인터페이스(UI) 화면을 나타내는 컴포넌트. 쉽게 말해, 앱 화면 하나를 의미
1. onCreate()
액티비티가 생성될 때 호출된다.
초기화 작업을 수행하거나 UI 요소를 설정하는 데 사용되고 setContentView()를 호출하여 액티비티의 레이아웃을 설정한다.
2. onStart()
액티비티가 화면에 보이기 시작할 때 호출된다.
UI가 사용자에게 보이지만, 포커스를 가지지 않은 상태이다.
※ 포커스를 가지지 않은 상태 : 안드로이드에서 액티비티가 화면에 보이지만, 현재 사용자의 입력 포인트(주로 터치나 키보드 입력)가 액티비티의 UI 요소에 집중되어 있지 않은 상태, 다른 말로는 액티비티가 사용자의 입력을 받지 않는 상태라고도 할 수 있다.
3. onResume()
액티비티가 사용자와 상호작용이 가능한 상태가 되었을 때 호출됩니다.
포커스를 얻고 화면에 표시됩니다.
대부분의 UI 상호작용이나 데이터 갱신 작업을 이 단계에서 처리합니다.
4. onPause()
다른 액티비티나 다이얼로그 등이 액티비티의 포커스를 가질 때 호출된다.
현재 액티비티는 부분적으로 더 이상 화면에 보이지 않는다.
CPU를 점유하는 작업을 중단하거나 리소스 해제 작업을 수행하는 것이 좋다.
5. onStop()
액티비티가 더 이상 화면에 보이지 않을 때 호출된다.
액티비티가 백그라운드에 있는 상태이고 리소스 해제 작업이나 데이터 저장 작업을 수행하는 것이 좋다.
6. onDestroy()
액티비티가 종료될 때 호출된다.
사용 중인 리소스를 해제하거나 데이터 저장 작업을 수행한다.
이 단계에서 액티비티와 관련된 모든 작업을 정리한다.
7. onRestart()
액티비티가 onStop() 상태에서 다시 시작될 때 호출된다.
onStop() 이후 다시 화면에 표시될 때 수행해야 할 작업을 처리할 수 있다.
