次の方法で共有


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場合は、代わりに with Fragment#setRetainInstance(boolean) Fragment.setRetainInstance(booleanFragment使用することを検討してください。</全角>

この関数は純粋に最適化として呼び出され、呼び出されることに依存してはなりません。 呼び出されると、構成の切り替えの最適化に役立つさまざまな保証が行われます。<ul<>li> 関数は次の間#onStop#onDestroy呼び出されます。 <li> アクティビティの新しいインスタンスは、<>この#onDestroy()インスタンスが呼び出された直後に作成<>されます。 特に、<>em no</em> メッセージはこの期間中にディスパッチされます (返されたオブジェクトに関連付けるアクティビティがない場合)。 <li> ここで返すオブジェクトは、<>ここで説明されているように、次のアクティビティ インスタンスのメソッドから#getLastNonConfigurationInstance()常<に/em> を使用できます。 </ul>

これらの保証は、アクティビティがこの API を使用して、読み込まれたビットマップからネットワーク接続まで、古いアクティビティ インスタンスから新しいアクティビティ インスタンスに広範な状態を伝達し、スレッドを均等にアクティブに実行できるように設計されています。 <>文字列、レイアウト、ドローアブルなどのリソースから読み込まれたデータを含め、構成に基づいて変更される可能性のあるデータを伝達しないでください<>。

次のアクティビティへの切り替え中にメッセージ処理が行われる保証は、アクティブ オブジェクトでの使用を簡略化します。 たとえば、保持状態があるandroid.os.AsyncTask場合は、次のインスタンス#onCreate(Bundle)を実行するまで、そのコールバック関数 (などandroid.os.AsyncTask#onPostExecute) が呼び出されないことが保証されます。 (ただし、別のスレッドで実行されているため、 android.os.AsyncTask#doInBackground そのような保証はありません。

<strong>Note:</strong> ほとんどの場合、代わりに API Fragment#setRetainInstance(boolean)Fragment使用する必要があります。これは、Android サポート ライブラリを通じて古いプラットフォームでも使用できます。

の Java ドキュメントandroid.app.Activity.onRetainNonConfigurationInstance()

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象