다음을 통해 공유


Activity.OnSaveInstanceState 메서드

정의

오버로드

OnSaveInstanceState(Bundle)

상태가 복원되거나 #onRestoreInstanceState (이 메서드로 채워진 상태가 둘 다에 전달됨) Bundle 종료되기 전에 활동에서 #onCreate 인스턴스별 상태를 검색하기 위해 호출됩니다.

OnSaveInstanceState(Bundle, PersistableBundle)

이는 동일 #onSaveInstanceState 하지만 특성 android.R.attr#persistableMode 이 설정된 상태에서 만든 활동에 대해 호출됩니다 persistAcrossReboots.

OnSaveInstanceState(Bundle)

상태가 복원되거나 #onRestoreInstanceState (이 메서드로 채워진 상태가 둘 다에 전달됨) Bundle 종료되기 전에 활동에서 #onCreate 인스턴스별 상태를 검색하기 위해 호출됩니다.

[Android.Runtime.Register("onSaveInstanceState", "(Landroid/os/Bundle;)V", "GetOnSaveInstanceState_Landroid_os_Bundle_Handler")]
protected virtual void OnSaveInstanceState (Android.OS.Bundle outState);
[<Android.Runtime.Register("onSaveInstanceState", "(Landroid/os/Bundle;)V", "GetOnSaveInstanceState_Landroid_os_Bundle_Handler")>]
abstract member OnSaveInstanceState : Android.OS.Bundle -> unit
override this.OnSaveInstanceState : Android.OS.Bundle -> unit

매개 변수

outState
Bundle

저장된 상태를 배치할 번들입니다.

특성

설명

상태가 복원되거나 #onRestoreInstanceState (이 메서드로 채워진 상태가 둘 다에 전달됨) Bundle 종료되기 전에 활동에서 #onCreate 인스턴스별 상태를 검색하기 위해 호출됩니다.

이 메서드는 작업이 종료되기 전에 호출되므로 나중에 다시 돌아올 때 상태를 복원할 수 있습니다. 예를 들어 활동 B가 활동 A 앞에서 시작되고 특정 시점에서 활동 A가 리소스를 회수하기 위해 종료되는 경우 활동 A는 사용자가 활동 A로 돌아올 때 사용자 인터페이스의 상태를 복원하거나 #onRestoreInstanceState복원 #onCreate 할 수 있도록 이 메서드를 통해 사용자 인터페이스의 현재 상태를 저장할 수 있습니다.

사용자가 더 이상 활동과 상호 작용하지 않을 때 항상 호출되거나 활동이 보이지 않을 때 호출되는 활동 수명 주기 콜백 #onPause#onStop 이 메서드를 혼동하지 마세요. 이 메서드가 호출되고 이 메서드가 아닌 경우 #onPause#onStop 의 한 가지 예는 사용자가 활동 B에서 활동 A로 다시 이동할 때입니다. 특정 인스턴스가 복원되지 않으므로 B를 호출 #onSaveInstanceState 할 필요가 없으므로 시스템에서 호출하지 않습니다. A의 사용자 인터페이스 상태가 그대로 유지되므로 A의 수명 동안 종료되지 않은 경우 활동 #onSaveInstanceState B가 활동 A 앞에 실행될 때 #onPause 호출되지 않고 #onSaveInstanceState 호출되는 경우의 예입니다.

기본 구현은 ID가 있는 계층의 각 뷰를 호출 android.view.View#onSaveInstanceState() 하고 현재 포커스가 있는 뷰의 ID를 저장하여(모두 기본 구현 #onRestoreInstanceState에 의해 복원됨) 인스턴스당 대부분의 UI 상태를 처리합니다. 각 개별 뷰에서 캡처되지 않은 추가 정보를 저장하기 위해 이 메서드를 재정의하는 경우 기본 구현을 통해 호출하려고 할 수 있습니다. 그렇지 않으면 각 보기의 모든 상태를 직접 저장할 준비가 되어 있습니다.

호출되는 경우 이 메서드는 .로 시작하는 android.os.Build.VERSION_CODES#P플랫폼을 대상으로 하는 애플리케이션에 대해 발생 #onStop 합니다. 이전 플랫폼 버전을 대상으로 하는 애플리케이션의 경우 이 메서드는 이전 #onStop 또는 이후에 #onPause발생할지 여부에 대한 보장이 없습니다.

에 대한 android.app.Activity.onSaveInstanceState(android.os.Bundle)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

추가 정보

적용 대상

OnSaveInstanceState(Bundle, PersistableBundle)

이는 동일 #onSaveInstanceState 하지만 특성 android.R.attr#persistableMode 이 설정된 상태에서 만든 활동에 대해 호출됩니다 persistAcrossReboots.

[Android.Runtime.Register("onSaveInstanceState", "(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V", "GetOnSaveInstanceState_Landroid_os_Bundle_Landroid_os_PersistableBundle_Handler")]
public virtual void OnSaveInstanceState (Android.OS.Bundle outState, Android.OS.PersistableBundle outPersistentState);
[<Android.Runtime.Register("onSaveInstanceState", "(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V", "GetOnSaveInstanceState_Landroid_os_Bundle_Landroid_os_PersistableBundle_Handler")>]
abstract member OnSaveInstanceState : Android.OS.Bundle * Android.OS.PersistableBundle -> unit
override this.OnSaveInstanceState : Android.OS.Bundle * Android.OS.PersistableBundle -> unit

매개 변수

outState
Bundle

저장된 상태를 배치할 번들입니다.

outPersistentState
PersistableBundle

다시 부팅 시 저장되는 상태입니다.

특성

설명

이는 동일 #onSaveInstanceState 하지만 특성 android.R.attr#persistableMode 이 설정된 상태에서 만든 활동에 대해 호출됩니다 persistAcrossReboots. 전달된 작업은 android.os.PersistableBundle 다음 디바이스를 다시 부팅한 #onCreate(Bundle, PersistableBundle) 후 이 작업이 다시 시작될 때 처음으로 저장되고 표시됩니다.

에 대한 android.app.Activity.onSaveInstanceState(android.os.Bundle, android.os.PersistableBundle)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

추가 정보

적용 대상