アプリを閉じるときに閉じる必要のあるディスクキャッシュがあります。これを行うのに最適な場所はどこですか?
-アクティビティonDestroyメソッドをオーバーライドし、それがタスクルートであるかどうかを確認します。
@Override
protected void onDestroy () {
if (this.isTaskRoot()) {
//I only want to close it if this is the last activity of the app
CloseCache();
}
super.onDestroy();
}
ドキュメントによると、システムがアプリを強制終了したときにActivity.onDestroy()が呼び出されない可能性があるため、この場合、キャッシュは開いたままになります。
-同じプロセスで実行されているサービスを使用し、onDestroyコールバックからキャッシュを閉じますか?Service.onDestroy()は、プロセスの破棄時に常にシステムによって呼び出されますか?
-私が知らない他の方法はありますか?