본문 바로가기

IT 자료/프로그래밍

안드로이드 액티비티(Activity) 생명주기 원리 이해하기

액티비티는 안드로이드의 4대 컴포넌트 중 하나로써 안드로이드 응용 프로그램의 화면을 구성하는 주요 단위입니다.

 

안드로이드를 이해하고 개발을 하기 위해선 반드시 이해를 하고 넘어가야 합니다.

 

다음은 프로젝트를 생성하면 기본으로 생성되는 HelloWorld 자바 코드입니다.

 

 

액티비티 샘플코드

public class HelloWorld extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}
  • public class HelloWorld extends Activity : Activity 클래스를 상속하여 HelloWorld로 정의하여 사용합니다.
  • super.onCreate() : 하위 클래스에서 상위 클래스를 호출해서 사용합니다.
  • setContentView() 메소드는 주어진 R.layout.main을 가지고 화면 구성을 합니다.
  • R.layout.main 실제로 /res/layout/main.xml을 가리킵니다.

 

액티비티 생명주기

 

 

메소드 기능
onCreate()  액티비티가 생성될 때 호출되며 사용자 인터페이스 초기화에 사용됩니다.
onRestart()  액티비티가 멈췄다가 다시 시작되기 바로 전에 호출됩니다.
onStart() 액티비티가 사용자에게 보여지기 바로 직전에 호출됩니다.
onResume()  액티비티가 사용자와 상호작용하기 바로 전에 호출됩니다.
onPause() 다른 액티비티가 보여질 때 호출됨. 데이터 저장, 스레드 중지 등의 처리를 하기에 적당한 메소드입니다.
onStop() 액티비티가 더이상 사용자에게 보여지지 않을 때 호출된다. 메모리가 부족할 경우에는 onStop() 메소드가 호출되지 않을 수도 있습니다.
onDestroy()  액티비티가 소멸될 때 호출된다. finish() 메소드가 호출되거나 시스템이 메모리 확보를 위해 액티비티를 제거할 때 호출됩니다.