public class Activity extends ApplicationContext 
{ protected void onCreate(Bundle savedInstanceState); protected void onStar(); protected void onRestart(); protected void onResume(); protected void onPause(); protected void onStop(); protected void onDestroy(); }


[출처] 액티비티 생명주

|작성자 bandi34









onCreate(Bundle) : 액티비티가 처음 시작할 때 호출된다. 사용자 인터페이스를 만드는 등의 일회적 초기화 실행에 사용된다.

                               onCreate()는 널(null) 값 또는 onSaveInstanceState() 메서드에 의해

                               저장된 상태 정보 중 한 가지의 매개변수를 갖는다.

 

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

 

onResume() : 액티비티가 사용자와 상호작용을 시작할 수 있을 때 호출된다.

                      애니메이션과 음악을 시작하기 좋은 곳이다.

 

onPause() : 액티비티가 배경으로 전환될 때 실행되는데, 주로 다른 액티비티가 이 프로그램 앞에 놓이게 됨으로써 일어난다.

                    데이터베이스 기록 수정 등 프로그램의 지속적 상태 정보를 이곳에 저장해 놓는다.

 

onStop() : 액티비티가 사용자에게 더 이상 보여지지 않을 때 호출되며, 액티비티는 한동안 사용되지 않는다.

                 메모리가 얼마 남지 않았다면 onStop()은 호출되지 않고 시스템이 프로세스를 종료해 버릴 수 있다.

 

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

 

onDestory() : 액티비티가 소멸되기 직전에 호출된다. 메모리가 얼마 남지 않았다면 onDestroy()는

                      호출되지 않고 시스템이 프로세스를 종료해 버릴 수 있다.

 

onSaveInstanceState(Bundle) : 텍스트 필드 내의 커서 위치 등의 인스턴스별 상태를 액티비티가 절약하도록 이 메서드가 호출된다.

                                                  디폴트 구현 값이 모든 사용자 인터페이스 제어 상태를 자동으로 저장하므로 대개 재정의할

                                                  필요 없다.

 

onRestoreInstanceState(Bundle) : 메서드가 미리 저장해 둔 상태로부터 액티비티가 다시 초기화될 때 호출된다.

                                                       디폴트 구현 값이 여러분의 사용자 인터페이스 상태를 복원한다.

  

새 엑티비티에 사용될 공간 확보를 위해, 포어그라운드에 있는 비활성 액티비티가 정지되거나

액티비티를 담고 있는 리눅스 프로세스가 중지될 수 있다.

 

이와 같은 상황은 일반적으로 발생할 수 있으니 애플리케이션 디자인 단계에서부터 고려해야 한다.

액티비티에서 마지막으로 호출되는 메서드가 onPause() 일 수 있으므로 다음번에 필요할 만한 데이터는

onPause()에 저장해 둔다.

[출처] 액티비티 생명주기|작성자 bandi34

Posted by croute

댓글을 달아 주세요