iphone - iOS - 我们应该将图像保存为本地文件还是二进制数据(在 Core Data 对象中)?哪种方式更快?

标签 iphone ios xcode

我目前使用保存在 Core Data 对象中的二进制数据生成 UIImage,如下面的代码。

UIImage * postImage = [UIImage imageWithData:image];
double imageRatio = postImage.size.height / postImage.size.width;
[imageContent setFrame:CGRectMake(imageContent.frame.origin.x, imageContent.frame.origin.y, imageContent.frame.size.width, imageContent.frame.size.height * imageRatio)];
[imageContent setImage:postImage];

但是我发现生成图片的时候有点慢。
从服务器检索数据时是否应该将图像保存在本地?
哪种方式更快?

谢谢,

最佳答案

将图像保存在本地(例如在 Documents 或 Caches 目录中)而不是在 Core Data 数据库中。将二进制数据存储在数据库中不会给您带来任何好处,因为您永远不会根据这些数据进行搜索或索引,它只会使您的数据库膨胀。只需将 NSString 引用存储到您将图像保存到的文件名/路径。

我认为 UIImage:imageWithData 方法与从已采用合适图像格式的文件中读取图像相比速度较慢。

关于iphone - iOS - 我们应该将图像保存为本地文件还是二进制数据(在 Core Data 对象中)?哪种方式更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10221834/

相关文章:

iphone - 以编程方式请求访问联系人

ios - 如何将 UIView 限制为 UICollectionViewCell

objective-c - Objective C - 派生 UIAlertView OK 按钮

ios - 搜索结果 TableView 未被选中

iphone - 如何通过数组索引将图像从 coreData 加载到 UIImage 中

iphone - 以编程方式添加 UITableView - 如何设置单元格的重用标识符?

ios - 从 url objective-c 调整图像大小

javascript - mdg :geolocation seems to run differently on my localhost than on myApp. meteor 网

xcode - 在 NSConcreteMapTable 中使用 NSXMLParser 的内存泄漏

iOS Admob 网络中介 : Duplicate Symbols Error With all_load and ObjC