在uiimageview中加载大图像时的内存消耗

时间:2011-05-24 12:46:33

标签: iphone ipad uiimageview uiimage

我正在使用UIViewContentModeScaleAspectFit将大小为2480×3508的UIImage加载到UIImageView中。我在加载此图像时收到内存警告。在我在这个UIImageView中加载了一些这样大小的图像后,应用程序崩溃了。有没有办法解决这个问题。

3 个答案:

答案 0 :(得分:3)

此问题的解决方案包括加载图像的缩放版本(* 1),或者您可以选择在CATiledLayer(* 2)的帮助下以全分辨率显示它。

  1. [UIImage imageWithCGImage:scale:orientation:];
  2. CATiledLayer example
  3. 附录:如果您的图像源是照片库,ALASSet会将已缩放的图像提供给全屏和全分辨率图像。您可以将两者结合使用CATiledLayer。全屏图像添加到CATiledLayer下面的图层,以便在等待CATiledLayer中的图块加载时用作占位符。

答案 1 :(得分:1)

嗯,根据文件:

  

您应该避免创建大小超过1024 x 1024的UIImage对象。

缩小图像然后将其加载到ImageView中,有很多库可以做到这一点,这里有一个:

https://github.com/Nyx0uf/NYXImagesUtilities

答案 2 :(得分:0)

您可以将其用于缩放 该方法简单地在以下链接中描述:

How to scale a UIImageView proportionally?