4

我目前正在使用保存在 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];

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

谢谢,

4

3 回答 3

4

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

我想 UIImage:imageWithData 方法与从已经采用合适图像格式的文件中读取图像相比要慢一些。

于 2012-04-19T05:05:03.050 回答
1

在本地保存图像并在您的 coreData 中保存该图像的位置和名称“URL”

于 2012-04-19T04:56:26.403 回答
1

将图像保存在本地,例如 PNG 或 JPEG,而不是 NSData。

于 2012-04-19T05:21:19.807 回答