【问题标题】:iOS - Should we just save image as local file or as binary data (in Core Data object)? Which way is faster?iOS - 我们应该将图像保存为本地文件还是二进制数据(在核心数据对象中)?哪种方式更快?
【发布时间】:2012-04-30 14:22:41
【问题描述】:

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

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

谢谢,

【问题讨论】:

标签: iphone ios xcode


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-14
        • 1970-01-01
        • 2015-03-04
        • 1970-01-01
        • 2010-10-17
        • 2021-10-21
        • 2013-05-04
        • 1970-01-01
        相关资源
        最近更新 更多