본문 바로가기
Android (Kotlin)/kotlin 문법

Activity 활동 수명 주기

by 키윤 2023. 12. 22.

액티비티는 한 화면을 의미합니다.

- 이 함수들은 메인 스레드의 명령 이벤트에 따라 호출되기 때문에 콜백 함수라고 한다.

- onCreate() 함수는 액티비티가 생성될 대 호출되고 반드시 구현해야 한다.

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
}

- onStart() 함수는 액티비티가 화면에 뜨면 호출되는 함수이다.

override fun onStart() {
    super.onStart()
    //start animation or update UI
}

- onPause() 함수는 애플리케이션이 다른 것에 의해 가려진 경우 호출되며, 애플리케이션의 일시 중단을 나타낸다.

override fun onPause() {
    super.onPause()
    //stop animation and save data
}

- onResume() 함수는 onPause()에 의해 일시중단 된 것을 다시 재개된다.

override fun onResume() {
    super.onResume()
    //update UI
}

- onStop() 함수는 화면이 더 이상 보이지 않을 때 실행되는 함수이다.

override fun onDestroy() {
    super.onDestroy()
    //release all resources
}

- onDestory() 함수는 [back]키를 연속해서 누르다 백 스택에 액티비티가 없거나, 안드로이드 시스템에 의해 리소스가 부족하면 강죄종료 되며 호출된다.

override fun onDestroy() {
    super.onDestroy()
    //release all resources
}

- 액티비티가 갑자기 종료되면 액티비티가 가진 데이터가 사라질 경우를 대비하여

  onSaveInstanceState()와 onRestoreInstanceState()를 오버라이딩해 상태를 저장하고 복구해야 한다.