안드로이드 생명주기 예제

Android 매니페스트 파일에서 사용자 지정 응용 프로그램 클래스를 지정할 수 있습니다. ON_PAUSE 이벤트에 반응하는 라이프사이클 관찰자의 다음 예는 ON_RESUME 이벤트가 수신된 후 초기화된 카메라를 해제하는 ON_RESUME 이벤트 예제와 대조되는 예입니다: onTrimMemory() – Android 시스템 때 호출 응용 프로그램이 메모리를 정리해 달라는 요청을 요청합니다. 이 메시지에는 응용 프로그램의 위치 표시등이 포함됩니다. 예를 들어 상수 TRIM_MEMORY_MODERATE는 프로세스가 백그라운드 LRU 목록의 중간 주위에 있음을 나타냅니다. 메모리를 해제하면 전체 성능이 향상될 수 있도록 목록의 후반부에서 다른 프로세스를 계속 실행하는 데 도움이 될 수 있습니다. 참고: Android 시스템이 활동의 뷰 상태를 복원하려면 각 보기에 android:id 속성에서 제공하는 고유 ID가 있어야 합니다. 여기서 우리는 LifeCycleRegistry를 LifeCycleOwner로 사용했으며 onStop() 라이프 사이클 이벤트를 테스트할 때도 ON_STOP 상태로 가져오기 전에 라이프 사이클을 이전 상태(onResume())로 이동해야 했습니다. 실제 라이프사이클소유자 이벤트가 ON_STOP 및 ON_PAUSE와 같이 반환되기 전에 일반적으로 프로세스에 대한 자세한 내용은 프로세스 및 스레드를 참조하십시오. 프로세스의 수명 주기가 프로세스의 활동 상태와 연결되는 방법에 대한 자세한 내용은 해당 페이지의 프로세스 수명 주기 섹션을 참조하십시오.

Android의 활동은 앱의 사용자 인터페이스에서 하나의 화면입니다. 그냥 자바 응용 프로그램의 창이나 웹 사이트의 웹 페이지처럼. 안드로이드 응용 프로그램은 기본적으로 서로 상호 작용하는 여러 활동의 조합입니다. 모든 응용 프로그램에는 응용 프로그램이 시작되는 즉시 생성되는 단일 실행 프로그램 활동이 있습니다(앱이 시작될 때 표시되는 화면입니다). 이 런처 활동은 이제 사용자 상호 작용에 대한 응답으로 다른 활동을 시작할 수 있습니다 (클릭) 라이프 사이클 소유자 인터페이스를 구현하는 모든 클래스는 안드로이드 라이프 사이클이 있음을 나타냅니다. 여기서 우리는 이전에 만든 안드로이드 헬로 월드 앱 예제를 사용하고 안드로이드 활동 수명 주기 프로세스를 캡처하기 위해 아래와 같이 MainActivity.java 파일을 일부 수정할 것입니다. onSaveInstanceState() 및 onRestoreInstanceState()를 재정의하는 경우 슈퍼를 호출해야 합니다. Android 뷰는 활동의 onSaveInstanceState() 메서드에서 View.onSaveInstanceState 호출을 통해 데이터를 저장합니다. 예를 들어, EditText는 이 메서드의 기본 호출을 통해 해당 콘텐츠를 저장합니다.

이제 우리는 우리가 라이프 사이클 구성 요소를 사용하는 방법을 보여주는 간단한 응용 프로그램을 구현합니다, 그것은 우리의 주요 활동이 겪는 다른 라이프 사이클 이벤트를 기록하는 매우 간단한 응용 프로그램이 될 것입니다. onLowMemory() – Android 시스템이 응용 프로그램이 메모리를 정리하도록 요청할 때 호출되는 경우 setContentView()를 호출하는 것과 같은 일부 작업은 활동 수명 주기 메서드 자체에 속합니다. 그러나 종속 구성 요소의 작업을 구현하는 코드는 구성 요소 자체에 배치해야 합니다. 이를 위해서는 종속 구성 요소 수명 주기를 인식해야 합니다. 수명 주기 인식 구성 요소로 수명 주기 처리를 참조하여 종속 구성 요소를 수명 주기를 인식하는 방법을 알아봅니다. 여기서는 OnLifecycleEvent 추가 를 통해 라이프 사이클 이벤트와 상호 작용합니다. 모범 사례에 대한 지침을 포함하여 수명 주기 처리에 대한 자세한 내용은 수명 주기 인식 구성 요소 및 UI 저장 상태에서 수명 주기 처리를 참조하십시오. 아키텍처 구성 요소와 함께 활동을 사용하여 강력하고 프로덕션 품질의 앱을 설계하는 방법을 알아보려면 앱 아키텍처 가이드>를 참조하십시오. 위의 코드 코드 조각은 수명 주기 관찰자에 의해 ON_PAUSE 이벤트를 받은 후 카메라 릴리스 코드를 배치합니다. 앞에서 설명한 것처럼 수명 주기 인식 구성 요소를 사용하여 수명 주기 처리를 참조하여 수명 주기를 인식하는 구성 요소를 만드는 방법을 알아봅니다.