【发布时间】:2011-04-01 00:56:45
【问题描述】:
我有一个可以导入图像的应用。我的应用不需要大图像,所以如果我看到一个大于 512 像素的图像,我会调整它的大小。
我正在使用一些我借用的图像大小调整功能:
http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way
调整大小功能在大多数情况下都非常有效,但我的图库中有一些 5616x3744 的大照片。当我尝试调整此图像的大小时,它有时会在执行 CGContextDrawImage() 时导致崩溃(大约一半的时间会崩溃,尽管在它崩溃之前我能够处理大约 20 张图像)。它在哪些图像上崩溃还不一致。
我还没有在模拟器中尝试过这个,但是在连接到调试器的同时在我的 iPad 上以开发模式运行。当应用程序崩溃时,它会直接退出调试器并返回信号“0”。
我想知道是否可能存在内存问题,但是当我使用分配工具运行它时,它在崩溃之前没有超过大约 44meg,并且我的应用程序没有收到内存警告。
调整大小操作是否只是分配大量内存导致内存不足崩溃而没有首先得到任何警告?
我想我可以将我的应用程序限制为较小的图像,但我想知道为什么会发生崩溃,以确保它不是随机的,以后会咬我。
非常感谢任何帮助!
谢谢, 罗恩
【问题讨论】:
-
注意...我做了更多的调试,我可以毫无问题地加载 10 兆像素的图像(我连续尝试了 100 多个)。当百万像素数达到 20 百万像素左右时,程序就会崩溃。
标签: iphone