본문 바로가기

prev record

[2010.05.20.목요일] 안드로이드 액티비티

액티비티 생명주기

 안드로이드 프로그램의 각 액티비티는 생명주기 동안 여러상태 중 하나에 놓인다.  프로그램이 어느 상태에 놓여 있는지는 개발자가 조정할 수 없으며 시스템에 의해  관리된다. 어떤 상태가 변경되었을때, 어떤 메서드가 호출되는 방식으로 알수는 있다.

 Activity 클래스에서 해당 메서드를 오버라이트(override)하면, 안드로이드는 이를 적당한 시기에 호출할 것이다.
  

  onCreate(Bundle)

 액티비티가 처음 시작할 때 호출된다. 사용자 인터페이스를 만드는 등의 일회적 초기화 실행에 사용된다. onCreate()는 널(null)값 또는 onSaveInstanceState() 메서드에 의해 저장된 상태 정보 중 한 가지의 매개변수를 갖는다.


  onStart()

 액티비티가 사용자에게 곧 보여질 것임을 나타낸다.


  onResume()
 액티비티가 사용자와 상호작용을 시작할 수 있을 때 호출된다. 애니메이션과 음악을 시작하기 좋은 곳이다.


  onPause()
 액티비티가 배경으로 전환될 때 실행되는데, 주로 다른 액티비티가 이 프로그램 앞에  놓이게 됨으로써 일어난다. 데이터베이스 기록 수정 등 프로그램의 지속적 상태 정보를  이곳에 저장해 놓는다.

  onStop()
 액티비티가 사용자에게 더 이상 보여지지 않을 때 호출되며, 액티비티는 한동안 사용 되지 않는다. 메모리가 얼마 남지 않았다면 onStop()은 호출되지 않고 시스템이 프로 세스를 종료해 버릴 수 있다.

  onRestart()
 이 메서드는 호출되면 액티비가 정지 상태에서 다시 디스플레이된다.


  onDestroy()
 액티비티가 소멸되기 직전에 호출된다. 메모리가 얼마 남지 않았다면 onDestroy()는 호출되지 않고 시스템이 프로세스를 종료해 버릴 수 있다.


  onSaveInstanceState(Bundle)
 텍스트 필드 냉의 커서 위치 등의 인스턴스별 상태를 액티비티가 절약하도록 이 메서드가  호출된다. 디폴트 구현 값이 모든 사용자 인터페이스 제어 상태를 자동으로 저장하므로  대개 재정의할 필요 없다.


  onRestoreInstanceState(Bundle)
 onSaveInstanceState() 메서드가 미리 저장해 둔 상태로부터 액티비티가 다시 초기화될 때  호출된다. 디폴트 구현 값이 여러분의 사용자 인터페이스 상태를 복원한다.
 

[출처 : 헬로 안드로이(책)]