【发布时间】:2011-04-10 10:00:39
【问题描述】:
我在滚动视图上显示大图像时遇到了问题,图像大小为 2,4 - 4,7 MB。它在 3GS 和模拟器上运行良好。但每当我尝试在 3G 或 iPod Touch 2G 上运行时,它就会崩溃。
我在网上搜索并找到了“imageNamed is evil”的文章。好的,我将所有图像调用更改为 imageWithContentsOfFile: 但它仍然崩溃,我看到的唯一不同是现在图像在我离开视图后被释放就好了。但是内存使用率还是很高的。
这是 Instruments 的屏幕截图。 第一个高峰是我在启动时显示的视频,然后tableview显示了很多图像,直到那时没有问题。
当我输入 1.1mb - 2576 x 1000 图片时
当我输入一张 4.8mb - 7822 x 1000 的图片时
顺便说一下,该应用在 iOS 4 和 3.1.2 上进行了测试
你有什么建议吗?因为这个问题快把我逼疯了。
非常感谢!
【问题讨论】:
-
我有一个类似的问题:三个 UIImageViews 并排在一个 UIScollView 中。当图像是 JPG(缩放为 1200x1600)时,内存使用量很疯狂:像你的例子一样跳到 30Mb+。 但是,如果我改用 PNG 图像,则内存使用率会很低(并且不会崩溃)。不幸的是,PNG 的大小是在设备上下载和存储的三倍 :-(
标签: iphone image memory crash uiimage