在Core Data中存储图像,如何清除缓存?

时间:2012-03-14 23:59:30

标签: ios core-data

我将图像存储在Core Data数据库中。更具体地说,我在iOS 5核心数据中使用外部存储功能,因此图像实际上是在数据库之外保存到磁盘,但对于这种情况,我认为这不会产生影响。这是问题所在:

我拍了一些照片并将它们写入照片实体。当我拍摄并保存每张照片时,我每次都可以看到我的内存使用率上升。我的印象是Core Data会在没有必要时对未使用的Photo实体进行故障,但这似乎并没有发生。有没有办法让Core Data刷新缓存或导致我的实体成为错误?最终我遇到了内存警告,应用程序崩溃了。

2 个答案:

答案 0 :(得分:4)

您需要使用NSManagedObjectContext的refreshObject:mergeChanges方法将已实现的对象转换为错误。

请参阅Apple文档Here

答案 1 :(得分:-2)

如果用户需要或强制使用缓存清除,我以前会删除应用启动时的sqlite3 cache-db文件