다음을 통해 공유


Activity.OnRetainNonConfigurationInstance 메서드

정의

새 구성에 대해 새 인스턴스가 즉시 만들어지는 것으로 알려진 경우 구성 변경으로 인해 활동을 삭제하는 과정의 일부로 시스템에서 호출됩니다.

[Android.Runtime.Register("onRetainNonConfigurationInstance", "()Ljava/lang/Object;", "GetOnRetainNonConfigurationInstanceHandler")]
public virtual Java.Lang.Object? OnRetainNonConfigurationInstance ();
[<Android.Runtime.Register("onRetainNonConfigurationInstance", "()Ljava/lang/Object;", "GetOnRetainNonConfigurationInstanceHandler")>]
abstract member OnRetainNonConfigurationInstance : unit -> Java.Lang.Object
override this.OnRetainNonConfigurationInstance : unit -> Java.Lang.Object

반환

다음 작업 인스턴스로 전파할 원하는 상태를 보유하는 모든 개체

특성

설명

새 구성에 대해 새 인스턴스가 즉시 만들어지는 것으로 알려진 경우 구성 변경으로 인해 활동을 삭제하는 과정의 일부로 시스템에서 호출됩니다. 활동 인스턴스 자체를 포함하여 여기에서 원하는 개체를 반환할 수 있으며, 나중에 새 활동 인스턴스에서 호출 #getLastNonConfigurationInstance() 하여 검색할 수 있습니다.

<em>대상 지정 android.os.Build.VERSION_CODES#HONEYCOMB 이상인 경우 대신 withFragment#setRetainInstance(boolean) Fragment.setRetainInstance(boolean를 사용하는 것이 Fragment 좋습니다.</그들>

이 함수는 순전히 최적화라고 하며 호출되는 함수에 의존해서는 안 됩니다. 호출될 때 구성 전환을 최적화하는 데 도움이 되는 여러 가지 보장이 수행됩니다. <ul><li> 함수는 간에 #onDestroy#onStop 호출됩니다. <li> 활동의 새 인스턴스는<><>이 #onDestroy() 인스턴스가 호출된 후 즉시 생성됩니다. 특히 이 <시간 동안 em>no</em> 메시지가 디스패치됩니다(반환된 개체에 연결할 활동이 없는 경우). <li> 여기서 반환하는 개체는 여기에 <>설명된 대로 다음 활동 인스턴스의 메서드에서 #getLastNonConfigurationInstance() 항상</em>을 사용할 수 있습니다. </ul>

이러한 보장은 작업이 이 API를 사용하여 로드된 비트맵에서 네트워크 연결에 이르기까지 이전 활동 인스턴스에서 새 활동 인스턴스로 광범위한 상태를 균등하게 실행 중인 스레드로 전파할 수 있도록 설계되었습니다. 문자열, 레이아웃 또는 그리기 파일과 같은 리소스에서 로드된 데이터를 포함하여 구성에 따라 변경될 수 있는 모든 데이터를 전파하지 않아야<> 합니다<>.

다음 작업으로 전환하는 동안 메시지 처리가 없도록 보장하면 활성 개체와 함께 사용하는 것이 간소화됩니다. 예를 들어 보존 상태가 있는 경우 다음 인스턴스#onCreate(Bundle)android.os.AsyncTask 실행할 때까지 호출에서 해당 콜백 함수(예: android.os.AsyncTask#onPostExecute)가 호출되지 않도록 보장됩니다. (그러나 별도의 스레드에서 실행되므로 이러한 보장 android.os.AsyncTask#doInBackground 은 없습니다.)

<strong>Note:</strong> 대부분의 경우 대신 API Fragment#setRetainInstance(boolean)Fragment 사용해야 합니다. Android 지원 라이브러리를 통해 이전 플랫폼에서도 사용할 수 있습니다.

에 대한 android.app.Activity.onRetainNonConfigurationInstance()Java 설명서

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

적용 대상