Android Bitmap占用内存计算公式

1240&_=5331302.png

Android对各分辨率的定义

当图片以格式ARGB_8888存储时的计算方式
占用内存=图片长 * 图片宽 * 4字节
图片长 = 图片原始长 * (设备DPI/文件夹DPI)
图片宽 = 图片原始宽 * (设备DPI/文件夹DPI)

举例验证如下:

图片大小 200 * 320,设备为红米dpi为320,属于xhdpi设备

验证一 图片放在hdpi,下面为代码输出结果:

DD/MainActivity(13014): dpi: 320    bitmap ByteCount: 456036

图片长 = (320 / 240)* 200 = 266.67
图片宽 = (320 / 240 )* 320 = 426.67
占用内存 = 266.67 * 426.67 * 4 = 455116 与 实际值大致相同

验证二 图片放xxhdpi下,下面为代码输出结果:

D/MainActivity(13014): dpi: 320    bitmap ByteCount: 113316

图片长 = (320 / 480 ) * 200 = 133.33

图片宽 = (320 / 480 ) * 320 = 213.33

占用内存 = 133.33 * 213.33 * 4 = 113774 与 实际值大致相同。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、概述 今天介绍一些关于Bitmap的基础知识: Bitmap是什么 屏幕密度相关概念 工程中各drawable...
    泽毛阅读 2,556评论 1 7
  • 一, 关于适配的一些概念性的知识 1.1. 重要的概念解释 1.1.1. 屏幕尺寸: 屏幕尺寸指屏幕的对角线的长度...
    Simon_Zhang阅读 1,597评论 1 3
  • 很久以前女孩喜欢一个男孩子 她看着男孩子为另一个女孩难过 后来女孩让男孩喜欢上了她 两个人在一起好像一起走了很多年...
    木夕夕兮阅读 243评论 0 1
  • 转眼已是三月,这样的日子过的无声无息,也很快 其实一直盼望回学校,因为这样有些许收获的日子总会推着人前进,而那些放...
    离人莫叹阅读 212评论 1 2
  • 相信这是很多刚刚经历完高考,或者正要经历高考的人经常听到的话:大学生活没有想象中的酷。 但这批告诉你们一点都不酷的...
    李E闪阅读 512评论 0 0