안드로이드 어플을 개발하는 데 있어 액티비티 생명주기를 잘 고려해야 합니다. 그리고 안드로이드 개발자 면접에서 나오는 단골 질문입니다.
onCreate()
액티비티가 생성될 때 호출. 액티비티 내의 모든 요소들을 이 메소드 내에서 초기화 시킬 수 있다. 화면에 보이기 이전.
onStart()
액티비티가 화면에 보이기 직전에 호출.
onResume()
액티비티가 화면상에 보여지게 되면서 사용자로부터 어떠한 동작도 받지 않았을 때 호출.
onPause()
다른 액티비티가 화면에 보여지려 할 때 호출.
onStop()
액티비티가 더 이상 사용자에게 보이지 않을 때 호출. 다른 액티비티로 전환 사 스택에 다른 액티비티가 쌓여 가려지게 되면 호출.
onDestroy()
액티비티가 종료될 때 호출.
onRestart()
다른 액티비티에 의해 가려져 있던 액티비티가 다시 시작되기 직전에 호출.
메인 액티비티에서 액티비티 전환 버튼을 클릭했을 시
MainActivity 의 onPause() 가 먼저 호출.
MainActivity2 의 onResume() 까지 호출.
이후 MainActivity의 onStop() 이 호출 되는 것을 알 수 있습니다.
액티비티 전환시 각 메서드 호출 순서는 면접 단골 질문입니다!