|
안드로이드(Android) Activity 의 라이프사이클(LifeCycle) 알아보기위한 예제 |
|
환경 : Eclipse Mars, Android 4.2.2 |
안드로이드에서는 activity 의 생명주기라는 것이 있습니다. 시작하고 종료할 때 어떤 함수들이 차례대로 실행되는지 순서가 있는데 각 순서별로 적절하게 기능을 구현하면 됩니다. 이번 예제는 그 순서를 파악할수 있는 소스 인데 onCreate() 가 시작되면서부터 어떤 함수 들이 차례대로 실행되는지, 종료시에는 어떤 함수들이 실행되는지 메시지로 알려줍니다.
▼ 안드로이드에서는 activity 의 생명주기라는 것이 있습니다. 시작하고 종료할 때 어떤 함수들이 차례대로 실행되는지 순서가 있는데 각 순서별로 적절하게 기능을 구현하면 됩니다. 이번 예제는 그 순서를 파악할수 있는 소스 인데 onCreate() 가 시작되면서부터 어떤 함수 들이 차례대로 실행되는지, 종료시에는 어떤 함수들이 실행되는지 메시지로 알려줍니다.
▼ 오버라이드한 함수는 onDestroy(),onPause(),onRestart(), onResume(),onStart(),onStop() 입니다. 그림에서 처럼 시작을 하게 되면 onCreate() -> onStart() -> onResume() 차례대로 시작되며 종료하게 되면 onPause() -> onStop() -> onDestory() 함수가 수행됩니다. 이 함수들을 알아야 하는 목적은 효율적인 프로그램을 짜기 위해 객체들을 어느 위치에서 해제하고 생성하며 관리할지 결정하기 위함입니다.
▼ 메인 activity 의 전체 소스 입니다. 특별한 부분이 없으며 레이아웃 xml 은 생략하도록 하겠습니다.
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class LifeCycleCheckActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_life_cycle_check);
Toast.makeText(this, "onCreate()", Toast.LENGTH_SHORT).show();
Button btExit = (Button) findViewById(R.id.buttonexit);
btExit.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
finish();
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
Toast.makeText(this, "onDestroy()", Toast.LENGTH_SHORT).show();
}
@Override
protected void onPause() {
super.onPause();
Toast.makeText(this, "onPause()", Toast.LENGTH_SHORT).show();
}
@Override
protected void onRestart() {
super.onRestart();
Toast.makeText(this, "onRestart()", Toast.LENGTH_SHORT).show();
}
@Override
protected void onResume() {
super.onResume();
Toast.makeText(this, "onResume()", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStart() {
super.onStart();
Toast.makeText(this, "onStart()", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStop() {
super.onStop();
Toast.makeText(this, "onStop()", Toast.LENGTH_SHORT).show();
}
}
'안드로이드 개발' 카테고리의 다른 글
| 안드로이드(Android) 백그라운드 스레드 소스 Runnable 이용해 구현 (0) | 2014.12.26 |
|---|---|
| 안드로이드(Android) 백그라운드에서 Handler 를 통해 UI 변경 (1) | 2014.12.23 |
| 안드로이드(Android) This Handler class should be static or leaks might occur 해결 (6) | 2014.12.21 |
| 안드로이드(Android) Android.graphics.Color 에서 제공하는 컬러보기 샘플구현 (0) | 2014.12.17 |
| 안드로이드(Android) SurfaceView 와 Thread 이용해 화면에서 움직이는 공구현 (0) | 2014.12.12 |
| 안드로이드(Android) SurfaceView 와 Thread 를 이용해여 사각형자동그리기 (0) | 2014.12.09 |
| 안드로이드(Android) getWidth() from the type Display is deprecated 수정 (0) | 2014.12.02 |
| 안드로이드(Android) SurfaceView 와 Thread 를 이용해 화면에 도형표현 하기 (0) | 2014.12.01 |
