post list

2015년 8월 11일

[Android] Activity Life Cycle with Debugging

DDMS 를 쓰는 것이 좋다. DDMS Perspective를 선택해서 LogCat 창의 +를 눌러 아래 항목을 채운다.

Filter name : MyFilter
by log Tag : test_tag

MainActivity를 다음과 같이 채운다.


package com.example.activitycycle;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
Log.d("test_tag", "onCreate");
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
protected void onDestroy() {
Log.d("test_tag", "onDestroy");
super.onDestroy();
}
protected void onPause() {
Log.d("test_tag", "onPause");
super.onPause();
}
protected void onRestart() {
Log.d("test_tag", "onRestart");
super.onRestart();
}
protected void onResume() {
Log.d("test_tag", "onResume");
super.onResume();
}
protected void onStart() {
Log.d("test_tag", "onStart");
super.onStart();
}
protected void onStop() {
Log.d("test_tag", "on");
super.onStop();
}
}

앱을 껐다 켜면서 실제로 언제 각 함수가 호출되는지 확인한다. 후후후후후후. 그림 같은거 보여주면 설명할거라 생각했다면 오산이다. 후후훟ㅎㅎㅎㅎ. 그리고 그게 가장 직관적이고 빠르게 이해가 된다.


p.s.

 혹시 로그가 안나온다면 이클립스를 껐다 켠다. 그래도 안나오면 작업관리자에서 adb.exe를 껐다가 켠다.

에뮬레이터나 실기기의 화면의 가로,세로모드를 바꿔보면 Destroy되었다가 다시 살아나는 것을 볼 수 있다.

onPause, onStop, onDestroy 함수가 호출되면 앱이 kill 될 수 있다.



댓글 없음:

댓글 쓰기