Activity
📎 Activity의 수명주기
실행 (Running)
화면 상에 액티비티가 보이면서 실행되어있는 상태
액티비티 스택의 최상위에 있으며 포커스를 가지고있음
일시중지 (Paused)
사용자에게 보이기는 하지만 다른 액티비티가 위에 있어 포커스를 받지 못하는 상태 (예시 : 대화상자가 위에있어 일부가 가려져 있는 경우)
중지 (Stopped)
다른 액티비티에 의해 완전히 가려져 보이지 않는 상태
콜백 메서드
onCreate()
activity가 만들어질 때 단 한번만 호출된다.
activity를 만들 때 단 한번만 하면 되는 작업들을 여기에서 해준다.
onStart()
activity가 시작되어 사용자에게 표시된다.
앱은 activity를 foreground에 보내 상호작용을 할 수 있도록 준비한다.
onResume()
앱이 사용자와 상호작용할 수 있다.
focus가 이 activity에서 벗어나기 전까지는 resumed 상태로 머문다.
onRestart()
다시 앱으로 돌아올 때 무조건 호출된다.
activity가 다시 호출될 때 하면 되는 작업들을 여기에서 해준다.
onPause()
화면이 focus를 잃으면 가장 먼저 호출된다.
focus를 잃는 경우 예시
- 갑자기 전화가 오는 등, 일부 이벤트가 앱 실행을 방해하는 경우
- 여러 앱이 멀티 윈도우 모드에서 실행될 때 그 중 하나의 앱만 focus를 가지기 때문에, focus를 잃는 경우
- 대화상자가 열리는 등, activity가 반투명해지는 경우
onStop()
activity가 더이상 표시되지 않을 때나 activity의 실행이 종료될 시점에 호출된다.
onDestroy()
메모리에서 이 activity와 관련된 모든 리소스를 해제한다.
activity가 소멸되기 직전에 호출된다.
- activity를 아예 닫거나, finish()가 호출되어 activity가 종료되는 경우
- 구성 변경(기기 회전, 멀티 윈도우 모드)으로 인해 시스템이 일시적으로 activity를 소멸
안드로이드 개발자 문서 참고
링크