1

Core Data とその他のオブジェクトを Caches ディレクトリに保存しています。削除しても問題ありませんが、アプリの実行中に消えてしまうと面倒です。これは実際に起こるのでしょうか、それとも、ファイルが作成されると、アプリのランタイムの残りの間そこにあると想定できますか?

4

2 に答える 2

1

表 1-3は次のように述べています。

...システムのディスク容量が非常に少ない場合、まれにシステムが Caches ディレクトリを削除することがあります。これは、アプリの実行中に発生することはありません。

それはいいですね :-)

于 2013-01-16T10:18:29.217 に答える
-1

NSCache クラスにはさまざまな自動削除ポリシーが組み込まれており、システムのメモリを過度に使用しないようになっています。他のアプリケーションがメモリを必要とする場合、システムはこれらのポリシーを自動的に実行します。これらのポリシーが呼び出されると、キャッシュからいくつかのアイテムが削除され、メモリ フットプリントが最小限に抑えられます。

ドキュメントを見ることができます:http://developer.apple.com/library/mac/#technotes/CachingPurgeableMemory/Introduction/Introduction.html

キャッシュにはコスト制限があり、ファイルがしきい値よりも大きい場合、自動的に削除されます。countLimitしかし、プロパティでそれらを制御できtotalCostLimit、コストでオブジェクトを追加できますsetObject:forKey:cost:

また、自分でオブジェクトを追い出すこともできます。NSDiscardableContent プロトコルの実装をオブジェクトと に追加しsetEvictsObjectsWithDiscardedContent:ますYES

ただし、キャッシュが大きい場合、アプリがバックグラウンドで実行されている場合、キャッシュはオブジェクトの一部 (おそらくすべて) を削除します。

于 2013-01-16T10:18:34.083 に答える