안드로이드 컴포넌트 생명주기

1 minute read

1. Activity 생명주기

- onCrete()

  1. 최초로 Activity를 실행하면, 처음으로 호출되는 메서드이다.
  2. 초기화 관련 작업을 주로 한다.

- onStart()

  1. 최초로 Activity를 실행하면, onCreate()다음으로 호출되는 메서드이다.
  2. onStop() -> onRestart() 다음으로 호출되는 함수이기도 하다.
  3. 이 시점부터는 사용자가 Activity를 볼 수 있다.

- onResume()

  1. 최초로 Activity를 실행하면, onStart()다음으로 호출되는 메서드이다.
  2. onPause()다음으로 호출되는 함수이기도 하다.
  3. 이 시점부터는 Activity가 활성화 된 상태(실행중인 상태)로 본다.

- onPause()

  1. 만약 onResume()가 호출된 이후에(Activity가 활성화 된 이후에) 다른 Activity가 최상단에서 보여지는(포커스를 잃은) 경우 호출되는 메서드이다.
  2. 만약 onPause()가 호출된 이후에 (다른 Activity가 최상단에서 보여진 이후에) 다시 기존 Activity로 돌아오는 경우 onResume()가 호출된다.
  3. 만약 다른 앱이 메모리를 필요로 할 경우 앱 프로세스가 종료된 수 있다.

- onStop()

  1. 만약 onResume()가 호출된 이후에(Activity가 활성화 된 이후에) 다른 Activity가 최상단에서 보여지는(포커스를 잃은) 경우 + Activity가 완전히 보이지 않는 경우 호출되는 메서드이다.
  2. 만약 onStop()이 호출된 이후에(다른 Activity가 최상단에서 보여진 이후에) 다시 기존 Activity로 돌아오는 경우 onStart()가 호출된다.
  3. 사용자에 의하거나(ex: onBackPressed() 호출), 시스템에 의해(ex: 자원부족) Activity가 완전히 종료되면 onDestroy()가 호출된다.
  4. 만약 다른 앱이 메모리를 필요로 할 경우 앱프로세스가 종료될 수 있다.

- onDestroy()

  1. Acitivy가 사용자에 의하거나 시스템에 의해 완전히 종료되는 경우 호출되는 메서드이다. 1-1. 사용자에 의해 종료되는 경우는 onBackPressend()호출, finish()등의 경우가 있다. (onBackPressed() 호출 시, 기존 실행된 액티비티가 onResume()까지 호출된 후 onDestroy()가 호출된다) 1-2. 시스템에 의해 종료되는 경우는 대표적으로 자원부족 문제를 해결하기 위한(메모리 확보를 위한)경우가 있다.

- onRestart()

  1. onStop()이 호출된 이후에(다른 Activity가 최상단에서 보여진 이후에) 다시 기존 Activity로 돌아오는 경우 호출되는 메서드이다.
  2. onRestart()가 호출된 이후 이어서 onStart()가 호출된다.
-->

Categories:

Updated:

Comments