안드로이드쪽 일을 하면서 가장 중요하다고 생각되는 부분은 Activity Lifecyrcle이라고 생각이 듭니다. 이 파트를 이해를 해야지만이 Activity를 구현하는데 있어서 가장 효율적으로 구현을 할수 있다고 생각하기 때문입니다.

안드로이드는 자신의 프로세스 수명을 직접제어 하지 않습니다. 이를 제어하는 것은 안드로이드 런타임이며, 이는 각각의 프로세스와 Activity들을 관리를 합니다.

여기서는 Activity가 생성되고 종료되는 과정을 정리하였습니다.

안드로이드가 제공하는 각 LifeCycle method들은 분명한 목적을 가지고 있으며,
Foreground, Visible, Entire LifeCycle Mode에서 수행되고 있습니다.
그림으로 정리를 하자면 다음과 같습니다.


 
Foreground phase : 수행중인 Activity를 뜻하며, 다른 모든 것들 보다 최상위에 위치합니다.
                             이는 사용자와 Activity들간의 상호작용을 하는 과정을 뜻합니다.
Visible phase : 수행중인 Activity는 화면에는 나타나지만, 사용자와의 상호작용이 발생되지
                      않습니다.
Entire lifecycle : 화면에 나타나지 않은 상태에서 Activity가 만들어 지기 전에 호출되거나 
                       종료에 앞서 Activity가 종료되는 단계에서 호출되는 Mehtod


 
public class Activity extends ApplicationContext {
     
protected void onCreate(Bundle savedInstanceState);

     
protected void onStart();
     
     
protected void onRestart();

     
protected void onResume();

     
protected void onPause();

     
protected void onStop();

     
protected void onDestroy();
 
}

onCreate() : Activity가 새성될 때 호출. 이전에 저장된 Bundle형태의 데이터에 접근 가능.
onRestart() : Activity가 재시작 되는 과정에서 호출.
                   새로 시작하는 것이 아닌 멈추었던 작업을 재개하는 것.
onStart() : Activity가 화면에 보이는 단계.
onResume() : Activity를 사용자가 사용할 때 호출.(Activity가 시작하거나 재시작시 호출.)
onPause() : Activity가 중단되거나 CPU와 다른 자원들을 요청할 때 호출.
onStop() : Activity 를 중단시키고 화면에서 보이지 않는 상태로 바꾸기 위해 호출.
onDestroy() : Activity가 시스템 메모리에서 완전히 제거될 때 호출.
                   onFinish() Method가 직접 호출 되거나 시스템이 Resource들을 확보하기 
                   위해 Activity를 중단할 때 호출.

'안드로이드' 카테고리의 다른 글

윈도우 환경에서 안드로이드 풀소스 받기  (0) 2011.01.12
View의 계층 구조  (0) 2011.01.10
Activity Stack  (0) 2011.01.10
안드로이드 우선순위  (0) 2011.01.10
어플리케이션의 구성요소  (0) 2011.01.09

+ Recent posts