android | January 08, 2022
Event: Framework나 Lifecycle class에서 전달되는 lifecycle events.
Activity나 fragment의 callback events에 mapping 된다.
A simplified illustration of the activity lifecycle
Created
상태가 된다.onCreate()
method의 실행이 완료되면, activity는 Started
상태가 되고 system은 onStart()
를 호출한다.onStart()
method는 매우 빠르게 완료된다.Resumed
상태가 되고 system은 onResume()
를 호출한다.Paused
상태가 되고, system은 onPause()
callback을 호출한다.Paused
상태에서 Resumed
상태로 돌아오면, system은 다시한번 onResume()
을 호출한다.Paused
상태인 동안 작업을 일시중지하거나 조정하기 위해 이 method를 사용한다.Stopped
상태가 되고 system은 onStop()
을 호출한다.onStop()
을 호출할 수도 있다.상대적으로 CPU를 많이 사용하는 작업을 수행하기 위해서도 onStop()
을 사용한다.
(예를 들어 database에 정보를 저장할 적절한 시간을 찾을 수 없으면, onStop()
중에 할 수 있다.)
Stopped
상태에서, activity는 사용자와 interact 하기 위해 돌아오거나 실행을 완료하고 사라진다.
돌아오는 경우 system은 onRestart()
를 호출하고, 실행이 종료되면 system은 onDestroy()
를 호출한다.
onDestroy()
는 activity가 수신하는 마지막 lifecycle callback이다.onDestroy()
가 호출된 것이라면, system은 즉시 새로운 activity instance를 만들고 새로운 configuration의 instance에서 onCreate()
를 호출한다.onDestroy()
는 onStop()
과 같은 이전의 callback에서 완전히 release 되지 않은 resources를 모두 release 해야 한다.onStop()
이후 activity가 사용자에게 다시 표시될 때 호출된다.onRestart()
다음에는 onStart()
와 onResume()
이 호출된다.