UIImage存储在外部bogs down app

时间:2013-07-07 23:23:08

标签: ios objective-c cocoa-touch core-data uiimage

我现在正在处理的应用程序以UITableView(带自定义单元格)为中心,从核心数据数据库加载数据。每个实体都有一些NSStrings,一个二进制数据属性,带有压缩的大小调整UIImage,以及一个可转换的UIImage属性,存储在外部。应用程序运行时只需保存已压缩的已调整大小的图像,但当我将完整图像保存到可转换属性时,表视图变慢并且我收到内存警告。我应该提一下,单元格中实际上只有两个NSStrings和压缩的大小调整图像的jpeg表示。

为什么外部存储的完整大小的图像在未被访问时仍然会减慢表视图的速度,我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

建议在文件系统上存储图像并在Core Data中维护路径引用。

将图像加载到内存是很昂贵的,所以在传递给主线程之前在后台线程上执行此操作。您可以维护用于图像加载的堆栈,这对于用户快速滚动非常有用,因为可见单元格将被优先免费。

除了这个通用建议之外,没有太多可以说的,你真的没有给我们太多的东西(没有代码,没有图像元数据,如大小等)。