【发布时间】:2014-10-30 18:22:10
【问题描述】:
我需要加载 4 张图像以进行同时编辑。当我从用户库中加载它们时,内存超过 500mb 并崩溃。
这是在我进行任何压缩尝试之前来自原始分配转储的日志:
代码:
var pickedImage = UIImage(data: imageData)
仪器:
我已经阅读了几篇关于压缩 UIImages 的文章。我已经尝试减少 UIImage:
新代码:
var pickedImage = UIImage(data: imageData, scale:0.1)
仪器:
减少 UIImage 的比例没有效果?!很奇怪。
所以现在我尝试创建基于完整 UIImage 的 JPEG 压缩
新代码:
var pickedImage = UIImage(data: imageData)
var compressedData:NSData = UIImageJPEGRepresentation(pickedImage,0)
var compressedImage:UIImage = UIImage(data: compressedData)!//this is now used to display
仪器:
现在,我怀疑是因为我正在转换它仍在加载的图像。由于这一切都发生在 PHImageManager 的回调中,我需要一种从 NSData 创建压缩 UIImage 的方法,但是将比例设置为 0.1 没有任何作用。
因此,任何关于如何直接从 NSData 压缩此 UIImage 的建议都可以挽救生命!!!
谢谢
【问题讨论】:
-
你试过用link吗?
-
是的,那是老派,但谢谢(它矫枉过正)。我确实想出了另一个解决方案,我明天可以发布。
标签: ios objective-c xcode swift uiimage