我在 Documents 目录中有两个文件是用相机拍摄的同一张照片。一个是使用 UIImagePNGRepresentation 保存的,另一个是使用 UIImageJPEGRepresentation 保存的。换句话说,一个是png,另一个是jpg。
现在,将仪器与真实设备一起使用。如果我加载 png (initWithContentOfFile:),“实际内存”从 2.34 MB 变为 2.43 MB。但是如果我改为加载 jpeg,内存就会从 2.34 MB 增加到超过 23 MB!!!我在加载任何 png 和 jpeg 时得到了相似的结果。
谁能帮我理解为什么?
最佳答案
它可能能够将用于 PNG 文件的内存直接映射到存储,而它无法对必须解码的 JPG 文件执行此操作。
如果您考虑一下,对于来自 iPhone 相机的 1600x1200 图像,23 MB 非常现实,而 .09 MB 的空间不足以容纳图像数据。
关于iphone - PNG 和 jpg 的 UIImage 内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1851119/