我们将Core Data和其他对象保存在Caches目录中。如果它们被删除就没关系,但如果它们在应用程序运行时消失,它就会变得混乱。这实际上是否可以发生,或者我们可以假设一旦创建了一个文件,它将会在应用程序的其余部分运行时出现吗?
答案 0 :(得分:1)
答案 1 :(得分:-1)
NSCache类包含各种自动删除策略 确保它不会占用太多的系统内存。该 如果需要内存,系统会自动执行这些策略 其他应用。调用时,这些策略会删除一些项目 从缓存中,最小化其内存占用
缓存有成本限制,如果您的文件大于阈值,它将自动删除。
但您可以使用countLimit
,totalCostLimit
属性控制它们,并且可以使用费用添加对象,请查看setObject:forKey:cost:
。
您也可以自己逐出物品。将NSDiscardableContent协议实现添加到您的对象,并setEvictsObjectsWithDiscardedContent:
添加到YES
。
但是当你的缓存更大时,当你的应用在后台运行时,缓存会驱逐一些对象(可能全部)