永続的なアプリケーションデータを保存するには、共有設定を使用します。共有設定は、永続的に保存されるデータ値のセットです。永続性とは、アプリケーションのライフサイクルイベント全体で永続化するデータのことです。つまり、データを失うことなく、アプリケーション(またはデバイス)を開始および停止できます。次回ユーザーがアプリケーションを起動したとき、そのデータは引き続き利用できます。一部のゲームでは、たとえば、到達したゲームのレベル、プレーヤーの名前を保存するために共有設定を使用しています... Android Preference APIの使用方法については、このリンクを参照してください
好みはバンドルに似ていますが、それらは永続的であり、バンドルはそうではありません!! 永続データを保存する必要がある場合は、次の4つのオプションがあることに注意してください。
- 共有設定の使用
- SQLiteデータベースの使用
- 内部ストレージの使用
- 外部ストレージの使用
バンドルは永続的ではなく、ドキュメントにはそれを当てにしないと記載されています。onSaveInstanceState()は、アクティビティがシステムによって強制終了されようとしているときに呼び出されますが、既知の再起動(たとえば画面の回転)の場合に呼び出されます。アクティビティが強制終了された場合システムはより多くのリソースを必要とするため(アクティビティがバックグラウンドにある間)、onSaveInstanceState()は呼び出されませんが、onPause()は呼び出されます。onSaveInstanceState()は、ドキュメントに記載されているように、永続データを保存することを意図したものではありません。