我知道PNG图像被压缩,并作为UIImage加载到UIImageView时,他们占用更多的内存,然后原始文件。这是否也适用于JPG图像?JPG图像内存占用UIImageView
1
A
回答
6
简答:是的。
长的答案:JPEG是一个有损压缩方案,可以压缩图像,使它们的幅度小于原始位图的数量级。 PNG是一种无损压缩方案,因此无法实现与JPEG一样好的压缩比。
因为这个原因,一个非常小的JPEG文件可以在解压时膨胀到巨大的尺寸,比任何可比的PNG文件大得多。
但是,您需要注意的是,一旦图像作为位图加载到内存中,无论加载哪种类型的文件,它都会消耗可预测的内存量。
这是因为位图图像每个像素使用精确的内存量(实际上,对于标准的32位图像,每像素32位)并不令人意外。因此,您可以通过将像素宽度乘以像素高度并乘以4(每个字节为32/8位),轻松计算图像所需的内存(假设它是32位图像)。这将告诉你需要多少字节才能将图像的位图数据存储在RAM中。
因此,一个640 x 480像素,32位图像使用:640 * 480 * 4 = 1228800字节,刚刚超过一兆字节。使用此位图作为后备存储的UIImage
对象将为此添加少量开销。
值得注意的是,iMac等使用的Apple 27英寸显示器的分辨率为2560 x 1440.这就需要14兆字节的RAM来存放桌面的位图图像!
相关问题
- 1. 图像占用太多内存
- 2. Java图像占用太多内存
- 3. Xcode处置内存 - 图像占用太多内存,不会释放内存
- 4. 内存占用
- 5. 是否UIImageView缓存图像?
- 6. UIImagePickerControllerSourceTypeCamera占用内存
- 7. Java转换图像格式,占用内存不足
- 8. 标记的图像占用内存/位置吗?
- 9. Android视图内存占用空间
- 10. Android翻新内容类型图像/ jpg
- 11. IPhone UIImageView图像
- 12. 如何从内存中解码JPG图像?
- 13. 将JPanel保存为.jpg/.png图像
- 14. 的UIImageView内存使用
- 15. Iphone - Masking JPG图像
- 16. JPG图像处理
- 17. 如何用最少的内存占用来保存大型分形图像?
- 18. UIImagePicker相机内存警告停止图像被设置为UIImageView
- 19. UIImageView内存问题
- 20. UIImageView - 内存问题
- 21. 内存大小UIImageView
- 22. 保存在UIImageView中显示的图像
- 23. PHP JPG图 - 收紧图像
- 24. 内存占用与循环
- 25. CUDA共享内存占用
- 26. rsyslog占用大量内存
- 27. 300MB内存占用不好?
- 28. 什么是内存占用?
- 29. 占用大量内存
- 30. cProfile占用大量内存
很棒的回答。谢谢。 – RaffAl 2012-01-03 09:45:05
带有视网膜显示器的iPad(在2048年由1536年)将为每个背景图像使用12.5兆字节。 – 2012-01-03 16:46:00