滚动图像时出现内存错误

时间:2014-03-11 14:44:00

标签: ios

我在点击任何单元格时使用照片的集合视图,然后动画图库,我们可以滚动它但滚动所有图像后3或4次应用程序崩溃消息"由于存储错误而终止"任何人都指导我。谢谢。

1 个答案:

答案 0 :(得分:0)

有几种可能性:

  1. 您希望确保为集合视图单元格使用适当分辨率的图像。有时人们会拍摄高分辨率图像并将其显示在小型集合视图单元格中。问题是高分辨率图像的未压缩再现将被加载到存储器中,这可能占用非常大量的存​​储器。

    您可能希望确保将图像调整为适合您的集合视图单元格的大小。例如,使用this category即可:

    cell.imageView.image = [highResolutionImage imageByScalingToSize:CGSizeMake(...) contentMode:UIViewContentModeScaleAspectFill];
    
  2. 您希望对使用UIImage个对象维护自己的模型结构(数组/字典/等)非常谨慎。最好简单地维护对存储在持久存储中的图像的引用。

    如果出于性能原因将图像保存在任何结构中,您可能需要使用配置为在内存压力下清除自身的NSCache(例如like this}。

    也要对imageNamed保持警惕,因为这也会缓存图像。