Activity.OnSaveInstanceState メソッド

定義

オーバーロード

OnSaveInstanceState(Bundle)

状態を復元できるように、または #onRestoreInstanceStateBundle (このメソッドによって設定された状態が両方に渡されるように) 強制終了される前に#onCreate、アクティビティからインスタンスごとの状態を取得するために呼び出されます。

OnSaveInstanceState(Bundle, PersistableBundle)

これは、属性android.R.attr#persistableModeが >に設定persistAcrossRebootsされた状態で作成されたアクティビティに対して呼び出されるのと同じです#onSaveInstanceStateが、呼び出されます。

OnSaveInstanceState(Bundle)

状態を復元できるように、または #onRestoreInstanceStateBundle (このメソッドによって設定された状態が両方に渡されるように) 強制終了される前に#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

保存した状態を配置するバンドル。

属性

注釈

状態を復元できるように、または #onRestoreInstanceStateBundle (このメソッドによって設定された状態が両方に渡されるように) 強制終了される前に#onCreate、アクティビティからインスタンスごとの状態を取得するために呼び出されます。

このメソッドは、アクティビティが強制終了される前に呼び出されるため、将来しばらく戻ったときに状態を復元できます。 たとえば、アクティビティ B がアクティビティ A の前で起動され、ある時点でアクティビティ A がリソースを回収するために強制終了された場合、アクティビティ A は、このメソッドを使用してユーザー インターフェイスの現在の状態を保存し、ユーザーがアクティビティ A に戻ったときに、ユーザー インターフェイスの状態を#onCreate#onRestoreInstanceState復元できます。

このメソッドをアクティビティ ライフサイクル コールバック ( #onPauseユーザーがアクティブにアクティビティと対話しなくなったときに常に呼び出される)、アクティビティ #onStop が非表示になったときに呼び出されるコールバックと混同しないでください。 このメソッドが呼び出されたときと#onStop呼び出されない場合#onPauseの 1 つの例は、ユーザーがアクティビティ B からアクティビティ A に戻ったときです。その特定のインスタンスは復元されないため、B を呼び出す#onSaveInstanceState必要がないため、システムは呼び出しを回避します。 呼び出され、呼び出されない#onSaveInstanceState場合#onPauseの例は、アクティビティ B がアクティビティ A の前で起動されたときです。A のユーザー インターフェイスの状態はそのままであるため、B の有効期間中にアクティビティ A が強制終了されない場合、システムはアクティビティ A の呼び出し#onSaveInstanceStateを回避できます。

既定の実装では、ID を持つ階層内の各ビューを呼び出し android.view.View#onSaveInstanceState() 、現在フォーカスされているビューの ID を保存することで 、インスタンスごとの UI の状態のほとんどを処理します (これらはすべて既定の #onRestoreInstanceState実装によって復元されます)。 このメソッドをオーバーライドして、個々のビューによってキャプチャされない追加情報を保存する場合は、既定の実装を呼び出す必要があります。それ以外の場合は、各ビューのすべての状態を自分で保存できるように準備する必要があります。

呼び出された場合、このメソッドは、以降のプラットフォームを対象とするアプリケーションの後 #onStopandroid.os.Build.VERSION_CODES#P発生します。 以前のプラットフォーム バージョンを対象とするアプリケーションの場合、このメソッドは前 #onStop に実行され、前と後 #onPauseのどちらで行われるかについての保証はありません。

の Java ドキュメントandroid.app.Activity.onSaveInstanceState(android.os.Bundle)

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

こちらもご覧ください

適用対象

OnSaveInstanceState(Bundle, PersistableBundle)

これは、属性android.R.attr#persistableModeが >に設定persistAcrossRebootsされた状態で作成されたアクティビティに対して呼び出されるのと同じです#onSaveInstanceStateが、呼び出されます。

[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

再起動後に保存される状態。

属性

注釈

これは、属性android.R.attr#persistableModeが >に設定persistAcrossRebootsされた状態で作成されたアクティビティに対して呼び出されるのと同じです#onSaveInstanceStateが、呼び出されます。 次の android.os.PersistableBundle デバイスの再起動後にこのアクティビティが初めて再起動されると、渡されたアクティビティが保存され、表示 #onCreate(Bundle, PersistableBundle) されます。

の Java ドキュメントandroid.app.Activity.onSaveInstanceState(android.os.Bundle, android.os.PersistableBundle)

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

こちらもご覧ください

適用対象