来自UIImage文档:
在内存不足的情况下,可能会从UIImage中清除图像数据 对象释放系统上的内存。这种清除行为会影响 只有UIImage对象内部存储的图像数据而不是 对象本身。当您尝试绘制其数据具有的图像时 被清除后,图像对象会自动重新加载数据 原始文件。
那些未从文件加载但是用UIGraphicsGetImageFromCurrentContext()绘制的UIImage怎么样?
我正在尝试使用包含UIImage的UIImageViews优化UITableViewCells的内存使用情况,因为单元格进入并从重用队列中拉出。
思想?
答案 0 :(得分:0)
我的理解是CGImage数据消失了,所以我认为(这是你的自定义绘制图像点)你运气不好?
我实际上只是处理了与UITableViews类似的问题。我为表现做的一件事是用Nib创建细胞;这是我所做的所有事情中性能的最大提升,所以如果你不使用Nib,请考虑它。
如果你有那么多数据,你也可以考虑某种形式的预加载。我不知道你想要实施什么,所以这可能适用也可能适用。
另一个注意事项是,在清除UIImage从文件中重新加载它们之后是一个重要的内存命中,所以如果你在那时你真的需要只看整体内存使用情况。