Android 개발 시리즈 2 의 창 Activity 의 수명 주기
Activity 가 생 성 에서 소각 하 는 과정 에서 서로 다른 단계 에서 7 개의 생명 주 기 를 호출 하 는 방법 이 필요 합 니 다.이 7 개의 생명 주기 방법 은 다음 과 같 습 니 다.
protected void onCreate(Bundle savedInstanceState)
protected void onStart()
protected void onResume()
protected void onPause()
protected void onStop()
protected void onRestart()
protected void onDestroy()
위의 7 개의 생명주기 방법 은 각각 4 단계 에서 일정한 순서에 따라 호출 된다1.액 티 비 티 시작:이 단계 에서 3 개의 라 이 프 사이클 방법 을 순서대로 실행 합 니 다.각각 onCreate,onStart,onResume 입 니 다.
2.Activity 초점 잃 음:Activity 가 초점 을 얻 은 상태 에서 다른 Activity 또는 응용 프로그램 에 들 어가 면 현재 Activity 가 초점 을 잃 습 니 다.이 단 계 는 onPause,onStop 방법 을 순서대로 실행 합 니 다.
3,Activity 다시 초점 획득:이 때 는 onRestart,onStart,onResume 방법 을 순서대로 실행 합 니 다.
4.Activity 닫 기:Activity 가 닫 혔 을 때 시스템 은 3 개의 생명주기 방법 을 순서대로 실행 합 니 다.각각 onPause,onStop,onDestory 입 니 다.
만약 에 이 4 단계 에서 생명주기 방법 을 집행 하 는 과정 에서 상태의 변화 가 발생 하지 않 으 면 시스템 은 위의 순서에 따라 4 단계 의 생명주기 방법 을 순서대로 집행 할 것 이다.만약 에 집행 과정 에서 상태 가 바 뀌 면 시스템 은 더욱 복잡 한 방법 에 따라 생명주기 방법 을 호출 할 것 이다.
만약 onStop 방법 을 실행 하 는 과정 에서 Activity 가 다시 초점 을 얻 은 후에 초점 을 잃 으 면 시스템 은 onDestory 방법 을 실행 하지 않 고 다음 순서에 따라 생명주기 방법 을 집행 할 것 이다.
onStop->onRestart->onStart->onResume->onPause->onStop
다음 그림 은 Activity 가 생 성에 서 소각 에 이 르 기 까지 중간 상태의 변 화 를 통 해 생명주기 방법 을 호출 하 는 과정 을 묘사 하고 있다.
위의 그림 에서 보 여 준 Activity 생명주기 호출 방법 설명도 에서 알 수 있 듯 이 전체 Activity 의 생명주기 에는 2 층 순환 이 포함 되 어 있 고 1 층 순환 은 onPause->onResume->onPause->onPause,2 층 순환 onStop->onRestart->onStart->onResume->onPause->onStop 이다.우 리 는 이 두 층 의 순환 을 전체 Activity 생명주기 중의 서브 생명주기 로 볼 수 있다.
1 층 순환 을 초점 생명주기 라 고 하 는데 2 층 순환 을 가시 생명주기 라 고 한다.즉,1 층 순환 재 Activity 초점의 획득 과 상실 과정 에서 순환 하 는데 이 과정 에서 Activity 는 항상 볼 수 있 고 2 층 순환 은 Activity 가 보 이 는 것 과 보이 지 않 는 과정 에서 순환 하 며 이 과정 에서 Activity 초점의 획득 과 상실 에 수반 된다.즉,액 티 비 티 가 먼저 표시 되 고 그 다음 에 초점 을 얻 게 되 고 그 다음 에 초점 을 잃 게 되 며 마지막 에 다른 액 티 비 티 가 팝 업 되 어 현재 의 액 티 비 티 가 보이 지 않 게 된다 는 것 이다.
따라서 Activity 는 다음 과 같은 세 가지 생명 주기 가 있다.
1.전체 생명주기:onCreate->...->onDestroy
2.비 주 얼 라 이 프 사이클:onStart->...->onStop
3.초점 생명주기:onResume->...->onPause
다음 코드 는 Activity 클래스 에서 7 개의 수명 주기 방법 으로 로그 정 보 를 출력 합 니 다.
package com.neil.ad02;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("onCreate","onCreate Method is executed");
setContentView(R.layout.activity_main);
}
@Override
protected void onDestroy()
{
super.onDestroy();
Log.d("onDestroy","onDestroy Method is executed");
}
@Override
protected void onPause()
{
super.onPause();
Log.d("onPause","onPause Method is executed");
}
@Override
protected void onRestart()
{
super.onRestart();
Log.d("onRestart","onRestart Method is executed");
}
@Override
protected void onResume()
{
super.onResume();
Log.d("onResume","onResume Method is executed");
}
@Override
protected void onStart()
{
super.onStart();
Log.d("onStart","onStart Method is executed");
}
@Override
protected void onStop()
{
super.onStop();
Log.d("onStop","onStop Method is executed");
}
}
Android 장치 모니터 열기 관찰그림 속 의 빨 간 상자 안 은 다시 초점 을 얻 는 것 이 니,다른 것 은 너희들 이 하나하나 시도 해 볼 수 있다.
이상 의 내용 은 여러분 에 게 소 개 된 안 드 로 이 드 학습 시리즈 2 의 창 Activity 의 라 이 프 사이클 입 니 다.여러분 에 게 이상 의 도움 이 되 기 를 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Android 활동의 시작 모드이 기사에서는 예제와 함께 시작 모드에 대한 자세한 설명을 볼 것입니다. 시작 모드로 이동하기 전에 몇 가지 중요한 용어가 있습니다. 애플리케이션 실행 시 새 작업이 생성되고 실행기 활동이 작업의 루트가 됩니다. 새...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.