我在使用 AFNetworking 的 UIImageView 类别加载此 2.8MB 图像时遇到问题。
当我在 iPad mini 上运行该应用程序时,它在能够显示图像之前就崩溃了。我创建了一个示例应用程序,它只执行此操作(加载和显示图像)以查明问题。你可以在这里下载。
有问题的图像:
这是我在仪器上的结果:
图片: http: //www.nasa.gov/images/content/712130main_8246931247_e60f3c09fb_o.jpg (2.8MB)
使用 Activity Monitor 工具,我得到了这个(看似荒谬的)内存结果:187MB 真实内存/ 535 虚拟内存。
工作示例:
以下是来自同一站点的另一个(更大)图像的结果。
图片: http: //www.nasa.gov/sites/default/files/2013-3051.jpg (5MB)
并使用活动监视器:
使用模拟器:
在模拟器上,第一张图片并没有使应用程序崩溃,但与工作图片相比,它仍然有一个奇怪的模式:
有问题的图像:
工作图像:
设置细节:
- 部署目标:6.0
- Xcode 版本:4.6.3 (4H1503)
- iPad Mini iOS 版本:6.1.3 (10B329)
- iPad Mini 可用磁盘空间:13.7GB 容量中的 334MB
我无法弄清楚第一张图片有什么问题,以及为什么它会像那样炸毁内存。我确实注意到它有很多像素(12150×6075),虽然我不知道这是否相关。