Android中图片大小、drawable文件夹、图片大小对内存占用的影响分析

Android中图片大小、drawable文件夹、图片大小对内存占用的影响分析

对于这个问题的分析,推荐一篇博客http://blog.csdn.net/zhaokaiqiang1992/article/details/49787117

感谢博主进行这么详尽的分析,这篇应该是我见过最完整的分析了,本文在这篇博客的基础上进行补充。
文中的测试代码请前往github BitmapTest

一 图片的加载

图片从res中加载到内存都是以图片的原始宽高比进行加载的。

比如上文中博主采用的图片是720*1280,锤子T1的分辨率是 1080*1960,
把图片放在drawable-xhdpi文件夹下,图片的大小为1080*1920,而不是充满屏幕高度的1960。因为图片加载时首先满足的是宽度,比如把720
放大到1080,此时保持图片的宽高比不变,高度应该是等比例放大,h = 1280*1080/720。

二 图片的压缩

android4.0以上的系统在把res的图片解析成bitmap时默认是采用ARGB_8888的配置,

所以bitmap内存占用的计算是 size = 宽(px)高(px)*ARGB_8888占的字节数 = w h * 4。

android2.3在把res的图片解析成bitmap时默认是采用RGB_565的配置,

所以bitmap内存占用的计算是 size = 宽(px)高(px)*RGB_565占的字节数 = w h * 2。

上文博主在文章最后留了一个难以解释的问题:图片放置在drawable-xxhdpi文件夹下,观察在不同屏幕密度设备的表现,图片占用的内存怪异,我觉得可能是因为有的设备(比如联想A360e)的系统是android2.3,采用RGB_565的方式压缩,图片占用的内存应该要采用上面的第二个公式计算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值