2

我已经阅读了 uiimagepickercontroller uiimage memory 和其他相关问题,但我无法理解一件事,我想知道这里是否有人在这方面有经验。

在我的应用程序中,我让用户从他的库中选择一张图片,最终导致上传。(这里有趣的是,其中的图像可能来自 12 兆像素的高质量相机,因为例如 iTunes 很乐意将它们同步到手机中。)

由于种种原因,我UIImageJPEGRepresentation马上把东西放到了一个本地存储的文件中。

没有多想,我就挂在UIImage了拣货员返回的位置上。

在 Instruments 中,在模拟器上,我看到UIImage返回的UIImagePickerController释放内存。这是否确实意味着它由库中的文件支持,我们无法访问?

这是否也意味着,上面链接的答案中的建议,即在需要全分辨率时立即存储图像,只会导致额外的开销?(至少对于图书馆的图片)

此外,用相机拍摄的图像可能有也可能没有一些内部支持,我还没有调查过(为什么模拟器不能只使用我的 iSight?!)。如果不是,它肯定会占用内存,首先要做的就是 anUIImageJPEGRepresentation后跟 anUIImage imageWithContentsOfFile:以启用支持,这将以相当大的延迟为代价。

有人有什么想法吗?

4

0 回答 0