2017-03-09 6 views
0

Androidアプリは、最初にデータベースから読み込む可能性のある大量のデータをメモリに保存します。このデータをデータベースからメモリに読み込むのにしばらく時間がかかるので、このデータをプログラム実行間のファイルにシリアライズしてキャッシュしたいので、毎回データベースから読み込む必要はありません。データベースのオーバーヘッドを排除してアプリケーションを起動します。Androidアプリケーションレベルのデータ(アクティビティデータではありません)を保存する場合

このデータは、私の主な活動ではなく、私のアプリケーションクラスのメンバーに保存されています。私が正しく理解していれば、主なアクティビティが破壊され再作成されたとき(画面の回転など)にApplicationクラスが保持されることがあります。これはいい。しかし、アプリケーション自体がいつ破棄されるのかを知る必要があります(アプリケーションクラスに格納されているデータを失うことになるため)。その前にファイルにキャッシュすることができます。

メインアクティビティのonSaveInstanceStateを使用したくない場合は、キャッシングが必要以上に頻繁に実行されることがあります(これはやや高価な操作かもしれません)。

これを処理するために上書きできるApplicationクラスのメソッドはありますか?

そうでない場合は、これを行う他の方法はありますか?

答えて

0

データをメモリに保存しておき、応答性を最大限にするために使用してください。 UIを更新し、データをデータベースに保存します。新しいデータを保存するときにエラーが発生した場合、UIに通知します。 そのようにして、Applicationインスタンスがいつ破壊されるか心配する必要はありません。

+0

私の質問で述べたように、私はすでにデータをメモリに保存しており、すでにデータベースに保存しています。私はあなたが質問していたかもしれないと思うかもしれません。 – JoeMjr2

関連する問題