Bundle savedInstanceState
どなたか、このことについて教えてくれませんかonCreate(Bundle savedInstanceState)
。私は Android 初心者です。developer.android.com から理解しようとしていますが、理解できません。誰か簡単に説明してもらえませんか?
ベストアンサー1
アプリケーションの状態をバンドルに保存すると(通常は 内の非永続的な動的データonSaveInstanceState
)、アクティビティを再作成する必要がある場合(たとえば、方向の変更)に に状態を戻すことができるonCreate
ため、この事前情報が失われることはありません。データが提供されなかった場合、savedInstanceState
は null になります。
... 永続的なデータ (ユーザー編集など) をストレージに書き込むには、onPause() メソッドを使用する必要があります。さらに、アクティビティをこのようなバックグラウンド状態にする前に、onSaveInstanceState(Bundle) メソッドが呼び出されます。これにより、アクティビティ内の動的インスタンス状態を特定の Bundle に保存し、アクティビティを再作成する必要がある場合に後で onCreate(Bundle) で受け取ることができます。プロセスのライフサイクルが、ホストしているアクティビティにどのように結び付けられているかについては、プロセス ライフサイクルのセクションを参照してください。永続的なデータは onSaveInstanceState(Bundle) ではなく onPause() に保存することが重要です。後者はライフサイクル コールバックの一部ではないため、ドキュメントで説明されているように、あらゆる状況で呼び出されるわけではありません。