Android Bitmap占用内存计算公式

2017-01-03  本文已影响0人  这个码农不太牛
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 与 实际值大致相同。

上一篇下一篇

猜你喜欢

热点阅读