android开发中bitmap图片占用内存计算方法

在进行android开发(http://www.maiziedu.com/course/android/时,我们需要对图片占用内存进行计算。图片(bitmap)占用的内存主要和以下几个因数有关:图片长度、图片宽度、单位像素占用的字节数。那么如何计算bitmap占用内存呢,计算方法、公式如下:

Android对各分辨率的定义

当图片以格式ARGB_8888存储时的计算方式

占用内存=图片长*图片宽*4字节

图片长 图片原始长 (设备DPI/文件夹DPI) 

图片宽 图片原始宽(设备DPI/文件夹DPI) 

 

举例验证如下:

图片大小 200 * 320,设备为红米dpi320,属于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 与 实际值大致相同。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值