私はいくつかのマップを使って自分のアクティビティのデータをキャッシュします。私がアクティビティに操作を戻すと、GCによってマップが収集され、ヌルポイント例外がスローされます。だから私はそれを避けるためにこれらのマップを保存する必要があります。問題はどうすればいいのですか?単にpacerableを実装し、これらのデータをバンドルに入れるだけですか?優雅にこの問題をぶち壊す他の方法がありますか?助けを借りてお返事いただきありがとうございます。onPause()およびonSaveInstanceState()関数を使用して状態を保存します。
0
A
答えて
4
これらが本当にキャッシュである場合は、必要に応じて元のソースからデータをリロードするだけです。これが「キャッシュ」の目的です。一時的にアクセスを最適化し、他のもの(例えば、ローカルファイル)がバッキングストアになるようにします。
キャッシュの寿命を選択することができます。今は、単一のアクティビティの一部であるように見えます。つまり、そのアクティビティが破棄された場合、キャッシュは破棄されます。それは適切かもしれないし、そうでないかもしれない。また、一部のクラスの静的データメンバーにすることで、キャッシュをプロセス全体の生涯にわたって生き生きさせることもできます。 非常にである必要があります。この方法ではメモリリークが発生しないため、ヒープスペースが不足します。しかし、この場合、キャッシュはプロセスの間だけ存続します。
しかし、最終的にプロセスは終了します(たとえば、ユーザーがHOMEを押して、かなりの期間アプリケーションに戻ることはありません)。そのため、必要に応じて元のソースからキャッシュを再ロードできる必要があります。
関連する問題
- 1. onSaveInstanceState ImageButtonの保存状態
- 2. GridLayoutManagerを使用してrecyclerviewの状態を保存および復元する
- 3. フラグメントを使用して状態を保存および復元する
- 4. SharedPreferencesを使用してToggleButtonの状態を保存します
- 5. Azure関数を使用してローカルに状態を保存する
- 6. onSaveInstanceState/onPause - プロセスが終了する前に状態が完全に保存されるまで待つ
- 7. アンドロイドはonPauseまたはonDestroyにゲームの状態を保存しますか?
- 8. onSaveInstanceStateでチェックボックス状態を保存する方法
- 9. jQuery Cookieを使用してチェックボックスの状態を保存する
- 10. javascriptとjqueryを使用して状態を保存する
- 11. NSUserDefaultsを使用してUISwitch状態を保存する
- 12. Swiftを使用してアプリケーションの状態を保存する
- 13. jqueryクッキーを使用してGoogle状態を保存する
- 14. React、Redux、およびredux-formを使用して状態をリフレッシュする方法
- 15. フラグメントの状態を保存します。
- 16. Jquery UIクッキーを使用して状態を保存
- 17. ウィンドウの状態を保存および取得する方法は?
- 18. アンドロイドアプリで変数の状態を保存して使用する方法
- 19. オリエンテーションの変更中にonSaveInstanceStateとonRestoreInstanceStateで状態を保存する方法
- 20. 設定を使用してスイッチ状態を保存し、ブール値を保存しません。
- 21. OnSaveInstanceStateはインスタンスを保存しません
- 22. UIImageViewの状態を保存して全体のビューを保存します
- 23. アクティビティの状態を保存して復元しますか?
- 24. PHPセッション変数にjquery flip状態を保存しますか?
- 25. WS2ESB:シーケンス呼び出し間の状態を保存する
- 26. 休止状態を使用してオブジェクトをデータベースに保存できません
- 27. Grails - ajaxコンポーネントを使用した状態/ Webフローの保存
- 28. Loopback 2.xを使用してユーザーとその書籍(および進行状況)を保存する方法
- 29. HTML5履歴状態内に関数を保存する方法
- 30. onSaveInstanceState()とonRestoreInstanceState(Parcelable状態)は呼び出されませんか?