Activity.OnSaveInstanceState メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
OnSaveInstanceState(Bundle) |
状態を復元できるように、または |
OnSaveInstanceState(Bundle, PersistableBundle) |
これは、属性 |
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 に戻ったときに、ユーザー インターフェイスの状態を#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
実装によって復元されます)。 このメソッドをオーバーライドして、個々のビューによってキャプチャされない追加情報を保存する場合は、既定の実装を呼び出す必要があります。それ以外の場合は、各ビューのすべての状態を自分で保存できるように準備する必要があります。
呼び出された場合、このメソッドは、以降のプラットフォームを対象とするアプリケーションの後 #onStop
に android.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)
されます。
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
こちらもご覧ください
- OnSaveInstanceState(Bundle)
- OnCreate(Bundle)
- <xref:Android.App.Activity.OnRestoreInstanceState(Android.OS.Bundle%2c+Android.OS.PersistableBundle)>
- OnPause()