1

アプリを閉じている間、いくつかの小さなデータ構造(合計で約1kB)とユーザーの設定を保存したいと思います。設定は私のPreferenceActivityでのみ変更されますが、データ構造はほとんどすべてのアクティビティで変更されます。Applicationすべてのデータ構造と設定を拡張して静的にしました。次に、アプリケーションクラスのSharedPreferencesに保存して、onTerminate()で再度ロードしてみましたonCreate()。ただし、onTerminate()ドキュメントには、「プロセスを強制終了するだけでプロセスが削除される本番Androidデバイスでは呼び出されない」と記載されています。

この質問への回答はonStop()、データを変更する各アクティビティのメソッドでSharedPreferencesに保存することを提案しています。これにより、すべての場合にデータが保存されることが保証されますか?ユーザーがアクティビティ間を移動するたびに節約する無駄を回避する方法はありますか(または気にする必要があります)?

4

1 に答える 1

3

正直なところonPause()、Androidで推奨されているように、各アクティビティを保存します(つまり、メールを作成するときに、画面がオフになった場合など、アプリが一時停止したときに下書きがどのように保存されるかを通知します)。それがラグ/遅延を引き起こしていることに気づかない限り、それはおそらくそれほど重要ではありません。

この「自動保存」メソッドで遅延が発生した場合は、各アクティビティに何らかの「保存」機能を実装する必要があります。たとえば、ProgressDialog/のAsyncTask組み合わせを使用する必要があります。

于 2013-01-04T08:34:37.070 に答える