안드로이드 액티비티 생명주기에 관해서 알아보자

안드로이드 액티비티 생명주기 단계의 순서는 다음과 같다.

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() 이후 다시 화면에 표시될 때 수행해야 할 작업을 처리할 수 있다.