保存或加载图像时,iPhone设备的响应时间非常慢

时间:2014-03-16 08:36:34

标签: ios objective-c core-data uiimage

我在模拟器中尝试我的应用程序,一切顺利但是当我在设备上尝试时,响应时间直到带来数据非常慢......我能做什么,原因是什么?

我意识到问题在于,在我的实体中,我有一个将图像存储在二进制数据中的照片字段,当我将图像保存到核心数据或将图像拉到表视图中时,它需要花费很多时间。

将图片保存为NSData的代码:

NSData *imageData = UIImagePNGRepresentation(_imageView.image); 

从核心数据中提取图像的代码:

cell.imageView.image = [UIImage imageWithData:[recipe valueForKey:@"image"]];

这会减慢我的加载并保存到核心数据。从Core Data保存和加载图像的解决方案是什么?

1 个答案:

答案 0 :(得分:0)

我能提供的最佳建议如下

  • 保存上下文时,请在后台线程中执行。您应该遵循NSManagedObjectContext的线程限制规则。如果您的目标是iOS 5设备,您还可以依赖新的Core Data API。

  • 使用允许外部存储标记。

  

如果指定托管对象属性的值可能是   作为外部记录存储,Core Data启发式决定a   每个值的基础是否应该直接保存数据   数据库或将URI存储到它为您管理的单独文件中。

enter image description here

在进入第三步之前,我会尝试前两步。