3

現在、NSCacheアプリのデータを保存するために使用しています。そのデータはいつでもサーバーから再度取得できるため、最終的にデータを紛失しても問題ありませんNSCache

問題は、アプリがバックグラウンドNSCacheでデータを削除するたびに発生することです。メモリの改善に本当に必要な場合、またはオブジェクトが限界に達した場合を除き、データを削除したくありません。

NSDictionaryメモリを大量に使用している場合、アプリをバックグラウンドで切り替えて強制終了したくありません。必要に応じて、またはメモリ警告が表示されたときに、サブクラスNSDictionary化してそれ自体を明確にすることができますが、これは大変な作業になると思います。

NSCache私は周りを読んで、プロトコルで使用するいくつかの提案を見つけましたNSDiscardableContentが、実装のサンプルコードは実際には見つかりませんでした. これが私の場合の最善のアプローチであるかどうかさえわかりません。

助言がありますか?

アップデート:

github でこのコードを見つけたので、期待どおりの結果が得られました。したがって、それは使用NSDiscardableContentされず、アプリがバックグラウンド状態になった場合にオブジェクトを削除しないということが起こっていることを特定できません。- (void)cleanUp彼のメソッドはオブジェクトを削除するたびに呼び出されNSCache、オブジェクトが制限に達したか、メモリ警告を受け取った場合にのみ続行すると思います。

とにかく、私はサードパーティのコードを使用するのが好きではないので、誰かがこの動作を模倣するのを手伝ってくれるなら、大きな助けになるでしょう.

4

0 に答える 0