【发布时间】:2011-03-23 23:16:21
【问题描述】:
我已经看到这个问题被问了几十次,但从未回答过。
如何调整 UIImage 的大小(特别是从 UIImagePickerController 相机返回的)。当我尝试任何现有的方法时,我的内存峰值在 20 到 40MB 之间。它确实消失了,但我知道在某些硬件上这是完全不可接受的。
我尝试过使用以下操作的方法:drawInRect:, CGContextDrawImage(), imageWithCGImage:scale:orientation:
我知道内存中的未压缩图像比磁盘占用更多空间,但似乎最常见的 UIImage 调整大小操作涉及创建图像数据的副本。
即使是 Apple 也建议立即调整用相机拍摄的照片的大小。但是(b/c 我相信他们知道这个主题非常复杂)他们没有提供任何关于如何管理它的指导。尤其是在图像数据返回的那一刻怎么做。
有没有人有一种在节省内存的同时调整大 UIImage 大小的平滑方法?我知道这是一项艰巨的任务。
【问题讨论】:
-
还有什么想法吗?我可能会把这个发给苹果。
标签: iphone memory-management uiimage uiimagepickercontroller