Android Bitmap占用内存计算公式

Posted 赵杰A-124

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Bitmap占用内存计算公式相关的知识,希望对你有一定的参考价值。

技术分享

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 与 实际值大致相同。

以上是关于Android Bitmap占用内存计算公式的主要内容,如果未能解决你的问题,请参考以下文章

ANDROID开发之OOM:一张图片(BitMap)占用内存的计算 图片内存优化

Android 一张图片(BitMap)占用内存的计算 图片内存优化

Android Bitmap加载内存占用彻底分析

Android中图片占用内存的计算

性能优化:Android中Bitmap内存大小优化的几种常见方式

Android 计算Bitmap大小