我正在开发一个简单的图像处理应用程序,我在我的测试设备(iPhone 3G)上遇到了一个问题,通常任何超过1024x1024像素的图像都会导致应用程序在保存时崩溃。
我的应用程序遵循的过程:
用户通过UIImagePicker选择图像
创建所选图像的工作副本并将其调整大小到视图边界(例如320x480)以获得性能。
用户对工作副本进行图像处理,然后按保存
对原始全分辨率图像进行相同的处理,然后保存到相册中。
如果图像是1024x1024的区域,一切都很好,如果太大则应用程序崩溃没有任何内存警告。
在搜索stackoverflow之后,Apple似乎推荐不超过1024x1024,但我发现同一iPhone 3G上的PhotoShop Express应用程序能够以原始高分辨率保存图像(例如1534x2034)
有人可以给我一些关于如何将高分辨率图像保存到PhotoShop Express能够的相册中的想法吗?
感谢。
答案 0 :(得分:1)
即使没有内存警告,我也认为这是内存问题。我们需要更多关于您的崩溃的信息才能确定。你是如何拯救它的?您使用的是ALAssetsLibrary还是UIImageWriteToSavedPhotosAlbum?请注意,后者具有与CGImageRef或NSData一起使用的方法。值得尝试所有适用的比较方法。
答案 1 :(得分:1)
以为我会分享我在这个问题上的进展......
不理想,但至少可以防止崩溃,并允许拥有较新硬件(例如3G或4)的个人以更高的分辨率进行保存。