Android Activity 수명 주기 상세 설명
1.활동 이해
Activity 는 Android 프로그램의 4 대 구성 요소 중 하나 입 니 다.
액 티 비 티 는 안 드 로 이 드 프로그램의 표시 층 이다.프로그램의 모든 디 스 플레이 화면 은 Activity 입 니 다.
WEB 개발 을 배 운 학생 은 Activity 를 웹 페이지 의 JSP 파일 로 이해 할 수 있 습 니 다.아니면 윈도 우즈 창 으로 이해 할 수 있 습 니 다.
다음은 Activity 류 의 상속 관 계 를 살 펴 보 겠 습 니 다.
여기 서 볼 수 있 듯 이 액 티 비 티 는 Context 류 의 하위 클래스 로 여러분 이 먼저 기억 에 남 습 니 다.
2.Activity 의 생명주기 이해
핸드폰 의 가장 중요 하고 가장 기본 적 인 기능 은 전 화 를 하 는 것 이다.즉,전화 가 올 때 수시로 현재 의 프로그램 을 멈 춰 야 한 다 는 것 을 의미한다.만약 에 전기 가 부족 할 때 기 존의 프로그램 을 수시로 닫 아야 할 수도 있다.따라서 안 드 로 이 드 프로그램 과 컴퓨터 의 프로그램 은 다르다.구체 적 으로 액 티 비 티 까지 액 티 비 티 의 생명 주 기 는 자체 적 으로 제어 하 는 것 이 아니 라 안 드 로 이 드 시스템 에 의 해 제어 된다.
안 드 로 이 드 에서 Activity 는 네 가지 기본 상태 가 있 습 니 다.
1、Running
화면 맨 앞 에 있 을 때 보 이 는 상태 로 사용자 와 대화 할 수 있 는 상태 입 니 다.
2、Paused
Acitivy 가 다른 투명 하거나 전체 화면 이 아 닌 Activity 에 덮 였 을 때의 상 태 를 Paused 상태 라 고 하 는데 보이 지만 상호작용 을 할 수 없습니다.
3、Stop
Activity 가 다른 Activity 에 덮어 쓰 고 화면 이 보이 지 않 을 때 Stop 상태 입 니 다.
4、Killed
Activity 가 시스템 에 의 해 죽 거나 본 과 작 동 하지 않 았 을 때 는 Killed 상태 입 니 다.
Activity 의 라 이 프 사이클 을 살 펴 보 겠 습 니 다.
다음은 위의 그림 의 간단 한 번역 버 전 입 니 다.
Activity 스 택:
Android 는 Activity 스 택 을 통 해 Activity 를 관리 합 니 다.
실행 중인 Activity 는 스 택 의 맨 위 에 있 습 니 다.실행 상태 입 니 다.
새 액 티 비 티 가 화면 맨 위 에 들 어 오 면 기 존 액 티 비 티 가 2 층 으로 깔 리 고,화면 이 완전히 가 려 지지 않 으 면 Pause 상태 이 고,가 려 지면 Stop 상태 다.
물론 어떤 층 에서 든 시스템 이 자원 이 부족 하 다 고 느 낄 때 강제로 닫 힐 수 있 습 니 다.물론 닫 힐 때 스 택 밑 에 있 는 프로그램 이 가장 먼저 닫 힐 수 있 습 니 다.
예 를 들 어 프로그램 에서 Activity.finish()방법 을 호출 할 때 결 과 는 사용자 가 BACK 키 를 누 른 것 과 같 습 니 다.그 는 Activity Manager 에 게 이 Activity 인 스 턴 스 를'회수'할 수 있다 고 말 했 습 니 다.그 다음 에 Activity Manager 는 스 택 2 층 에 있 는 Activity 를 활성화 시 키 고 다시 스 택 에 들 어가 원래 의 Activity 를 스 택 2 층 으로 눌 러 서 Running 상태 에서 Paused 상태 로 전환 합 니 다.
3.인 스 턴 스:화면 뒤 집기 로 인 한 Activity 상태 변화 관찰
Activity 클래스 에 서 는 생명주기 와 관련 된 방법 을 정의 합 니 다.이 방법 들 은 상태 가 바 뀔 때 호출 됩 니 다.예 를 들 어 생 성 할 때 호출 되 는 방법 onCreate()입 니 다.따라서 우 리 는 프로그램의 모든 방법 에 주석 을 쓰 고 실행 할 때 주석 을 인쇄 하 는 순 서 를 보고 Activity 의 상태 변 화 를 추적 할 수 있 습 니 다.
다음은 프로그램 코드 입 니 다.
package android.basic.lesson4;import android.app.Activity;
import android.os.Bundle;
import android.util.Log;public class MainActivityLife extends Activity {
String tag =”[MainActivityLife]“;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.i(tag, “onCreate”);
}@Override
public void onStart(){
super.onStart();
Log.i(tag, “onStart”);
}@Override
public void onPause(){
super.onPause();
Log.i(tag, “onPause”);
}@Override
public void onResume(){
super.onResume();
Log.i(tag, “onResume”);
}@Override
public void onStop(){
super.onStop();
Log.i(tag, “onStop”);
}@Override
public void onDestroy(){
super.onDestroy();
Log.i(tag, “onDestroy”);
}
}
그리고 LogCat 도 구 를 꺼 내 프로그램의 운행 세부 사항 을 관찰 합 니 다.LogCat 필 터 를 통 해 프로그램 이 시작 되 고 화면 이 뒤 집 히 며 후퇴 키 를 누 르 면 프로그램 이 종료 되 는 과정 을 볼 수 있 습 니 다.이것 은 우리 가 방금 배 운 지식 을 검증 하 는 데 도움 이 됩 니 다.화면 이 뒤 집 힐 때 안 드 로 이 드 시스템 은 Activity Life 라 는 Activity 를 먼저 죽 이 고(구체 적 인 순 서 는 일시 정지,종료,소각)다음 에 시작 하 는 것 을 볼 수 있다.이 예 를 통 해 우 리 는 프로그래머 가 Activity 의 생명 주 기 를 제어 하 는 것 이 아니 라 안 드 로 이 드 시스템 이라는 것 을 잘 알 게 되 었 다.
이상 은 안 드 로 이 드 액 티 비 티 라 이 프 사이클 에 대한 소개 입 니 다.필요 한 친구 가 있 으 면 참고 하 세 요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.