为什么在 UIImagePNGRepresentation 之后图像大小会增加?

Why image size get increased after UIImagePNGRepresentation?

我的 iphone 照片应用程序中有图像文件。

我已经通过空投将它带到我的 macbook 上并检查了图像大小 = 1.9 MB

我将相同的图像保存到 iphone 的文件应用程序并检查了那里的图像大小 = 1.9 MB

我已通过UIImagePickerController

将相同的图像拍摄到我的应用程序中

现在,我的问题是,为什么 UIImagePNGRepresentationUIImageJPEGRepresentation 将文件大小增加到那么大?。我什至将这张图片上传到我的服务器,显然得到了更大的图片尺寸。我想以原始质量将给定图像上传到我的服务器,但我不想要这么大的图像(因为它在设备上的实际大小完全不同),有没有其他方法可以防止原始图像大小和质量两者都有?

让我们以 WWDC 2018 session - 416_ios_memory_deep_dive 中的这个例子为例。如果您有 590kb 文件大小的图像,则图像的尺寸为 2048 像素 x 1536 像素。所以这个图像的总内存是 10MB(2048 像素 x 1536 像素 x 4 字节/像素)更多细节你可以看看这个视频。 https://developer.apple.com/videos/play/wwdc2018/416/