美文网首页经典面试题ios学习资料iOS开发
经典面试题1:图片占多少内存

经典面试题1:图片占多少内存

作者: 豆志昂扬 | 来源:发表于2016-06-14 18:40 被阅读2932次

一个图片占多少内存在于图片的尺寸大小。

以一张尺寸为900 × 600的图片为例,图片共有像素数:

900 × 600 = 540,000像素(Pixel)。

如果图片是RGB 色彩模式,占用的内存是:

900 × 600 × 3 = 1,620,000 字节(bytes).

后面"× 3"表示每个像素内RGB 颜色的信息需要3字节,也是24比特(bit)。 

也可以说每个像素中 3 RGB值,每一个RGB值需要一个 8 比特,也是一个字节,总计24个比特。

存储不同的色彩模式需要不同的内存,具体如下:

图片类型                            |      每像素多少字节 

1 比特 数据图(Line art)        |      每像素1/8字节,也是一个比特。

8 比特灰度(Grayscale)         |      每像素1字节。

16 比特灰度(Grayscale)        |     每像素2字节。

24 比特 RGB                        |     每像素3字节,这是图片中最常用的,如JPG格式。

32 比特 印刷色彩模式(CMYK) |   每像素4字节

48 比特 RGB                        |    每像素6字节

内存单位

关于兆字节 (Megabytes)

大部分程序系统使用来衡量图片大小,下面解释一下字节和兆的关系。

1兆(MB) = 1024 × 1024 = 1,048,576 字节, 也就是2的20次方。

1,000,000字节不等于 1兆, 10,000,000 / (1024x1024) = 9.54 兆。

回到本文开始时的题目:

一张尺寸为900×600的RGB图片占的内存大小:

900 × 600 × 3 = 1,620,000 字节(bytes) = 1.582兆(M)

再来一个例子,一个1024 x 768大小 24位色(24 bit RGB)的图像占多少内存?

1024 × 768 × 3 = 2,359,296 字节(bytes) =2,359,296/(1024 x 1024)兆(M)=2.25M

注意:

*    图片编辑器一般用MB衡量尺寸大小。(没压缩之前的原始尺寸除以1024x1024)

*    操作系统里显示的尺寸一般是压缩后的大小,会小于原始尺寸。

总体来说一张图片占多少内存,在于图片的尺寸大小色彩模式

另外,该题目结合一些设备知识有一些变种:

1. 如iPhone 6 上设备分辨率大小的RGB类型图片占用内存多少?

由于iPhone 6的设计分辨率是750x1334,计算所有像素点 = 750X1334X3 。

图片占用内存大小 =  (750X1334X3) / (1024X1024) , 也就是 2.86M.

2. 一张6x4寸的图片在150dpi设备上,占用多少内存?

首先是计算像素点, 像素点 = (6 x 150) x(4 x 150) = 540,000像素

如果图片是RGB类型,则占用内存为(540,000 x 3)/(1024 x 1024) = 1.545M。

推荐阅读

经典面试100题 - 持续更新中 

更多

获取更多内容请关注微信公众号豆志昂扬:

+ 直接添加公众号豆志昂扬

+ 微信扫描下图二维码;

相关文章

  • 经典面试100题 - 持续更新中

    打算整理100道经典面试题,整理出来的链接都会附录在下面。 经典面试题1:图片占多少内存经典面试题2:时针和分针经...

  • 经典面试题1:图片占多少内存

    一个图片占多少内存在于图片的尺寸大小。 以一张尺寸为900 × 600的图片为例,图片共有像素数: 900 ×60...

  • iOS经典面试题总结--内存管理

    iOS经典面试题总结--内存管理 iOS经典面试题总结--内存管理

  • iOS展示gif图

    展示本地gif图片SDWebImage比较占内存,FLAnimatedImage不怎么占用内存 1.使用SDWeb...

  • 底层原理:OC对象的本质

    面试题 一个NSObject对象占用多少内存? 准备工作 我们新建一个demo来探究:一个NSObject对象占多...

  • IOS 内存管理

    转自iOS经典面试题总结--内存管理 - CocoaChina_让移动开发更简单 内存管理 1.什么是ARC? A...

  • C语言_笔记

    1,结构体: 占多少内存?如下图a,b,c三个变量。假如a占4个字节,b占1个字节,c占4个字节。那么struct...

  • 内存优化:图片定位

    目标 通常最占内存的就是图片,内存优化最优先从图片入手,排查下大内存的图片有哪些,是哪里产生的,是不是合理 定位 ...

  • 面试所涉及的问题

    面试题参考1 : 面试题 面试题参考2 : 内存管理 面试题参考3 :面试题 ...

  • ios面试题

    1 NSobject本质是什么,占用多少内存 2 一个自定义对象占多少内存 对象实际 一个isa指针占用8个字节I...

网友评论

  • markRao:像这种问图片占内存大小的题目,直接问RGB是不清楚占几个字节的

本文标题:经典面试题1:图片占多少内存

本文链接:https://www.haomeiwen.com/subject/cieudttx.html