onCreate
  • 호출 시점 : 앱이 새로 실행되거나, 앱을 종료하지 않은 상태에서 다른 앱이 실행되면서 안드로이드가 메모리 확보를 위해 강제로 프로세스를 죽였다가 back 버튼으로 해당 앱으로 돌아오려 할 경우. 즉, Activity가 메모리에 완전히 다시 올라갈 경우
  • 실행할 사항 : 모든 Activity에서 초기화 상황을 확인하고 설정을 읽고 적용하는 등의 기본적인 초기화 상황을 수행해야 한다. 앱이 메모리에서 내려간 경우, 설정 사항도 모두 없어지기 때문에 모든 Activity에서 초기화를 할 수 있어야 한다. 다음으로 각종 Activity view 객체와 이벤트 핸들러를 초기화한다. 세번째로 Intent를 확인하고 각종 모델과 데이터 객체를 초기화한다. 마지막으로 이전에 종료된 상태를 복구하기 위해 Bundle을 이용해 필요한 데이터나 객체를 복구한다
onStart
  • 호출 시점 : onCreate 실행 후, 또는 onRestart 실행 후 호출된다.
  • 실행할 사항 : 연산이 필요할 경우 연산을 수행한다.
onResume
  • 호출 시점 : onStart 다음, 또는 다른 Activity 실행을 위해 onPause가 실행된 다음 호출. onResume 이후에 Activity가 실제로 동작함
  • 실행할 사항 : 화면에 내용을 출력한다. 각종 View 객체에 출력할 값을 세팅한다.
onPause
  • 호출 시점 : 다른 Activity가 실행되면 현재의 Activity를 임시중단시킨다. 화면에 여전히 보여지는 상태(예를 들어 다이얼로그 팝업이 뜨는 경우)에는 onPause까지 실행된다.
  • 실행할 사항 : 별다른 사항이 없다. 현재 상태 저장을 위한 기능은 안드로이드가 알아서 한다. 추가로 저장이 필요한 사항은 onSaveInstanceState 메소드에서 구현한다. 필요할 경우 구현한다.
onStop
  • 호출 시점 : 화면에 더 이상 보여지지 않을 경우 호출된다.
  • 실행할 사항 : 별다른 사항이 없다. 필요할 경우 구현한다.
onDestroy
  • 호출 시점 : Activity가 완전히 종료될 때 호출된다.
  • 실행할 사항 : 별다른 사항이 없다. 필요할 경우 구현한다.
onRestart
  • 호출 시점 : onStop으로 Activity가 화면이 완전히 가려졌다가 다시 보여질 때 호출된다.
  • 실행할 사항 : 별다른 사항이 없다. 필요할 경우 구현한다.



※ A Activity 실행 중 다른 신호가 들어왔을 때의 반응 ( Log cat을 통해 확인 )
onCreat  A - onResum A - Intent - onPause A - onCreat B - onStop A

public class TextTestActivity extends Activity {
 static final String TAG = "ActParent";
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        Log.i(TAG,"onCreate");
     super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
   
//    Button btn = (Button)findViewById(R.id.bt);
    public void OnClick(View v){
     Log.i(TAG, "startActivity");
     Intent intent = new Intent(this, TextTestchild.class);
     startActivity(intent);
    }
    public void onResume(){
     super.onResume();
     Log.i(TAG,"onResum");
    }
    public void onPause(){
     super.onPause();
     Log.i(TAG,"onPause");
    }
    public void onRestart(){
     super.onRestart();
     Log.i(TAG,"onRestart");
    }
    public void onStop(){
     super.onStop();
     Log.i(TAG,"onStop");
    }
    public void onDestroy(){
     super.onDestroy();
     Log.i(TAG,"onDestroy");
    }
}

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

broadcast receiver java code로 등록  (0) 2011.07.25
MediaPlayer  (0) 2011.07.19
startActivityForResult()  (0) 2011.07.12
Intents and IntentsFilters  (0) 2011.07.12
9.png  (0) 2011.07.12

+ Recent posts