
已经好久没有更新博客,大概有半年了,主要是博主这段时间忙于找工作,AndroID岗位的工作真的是越来越难找,好不容易在广州找到一家,主要做海外产品,公司研发实力也不错,所以就敲定了三方协议。现在已经在公司实习了一个月多,目前主要是负责公司某个产品的内存优化,刚好就总结了一下AndroID Bitmap常用的优化方式。
AndroID中的图片是以Bitmap方式存在的,绘制的时候也是Bitmap,直接影响到app运行时的内存,在AndroID,Bitmap所占用的内存计算公式是:图片长度 x 图片宽度 x像素点的字节数
二、图片常用的压缩格式| Enum Values | |
|---|---|
| Alpha_8 | 每个像素都存储为一个半透明(Alpha)通道 |
| ARGB_4444 | 此字段已在API级别13中弃用。由于此配置的质量较差,建议使用ARGB_8888 |
| ARGB_8888 | 每个像素存储在4个字节。 |
| RGB_565 | 每个像素存储在2个字节中,只有RGB通道被编码:红色以5位精度存储(32个可能值),绿色以6位精度存储(64个可能值),蓝色存储为5位精确。 |
其中字母代表的意思我们大概都可以理解,接下来我们来算算它们单个像素点的字节数:
Alpha_8:表示8位Alpha位图,即透明度占8个位,一个像素点占用1个字节,它没有颜色,只有透明度。ARGB_4444:表示16位ARGB位图,即A=4,R=4,G=4,B=4,一个像素点占4+4+4+4=16位,2个字节。ARGB_8888:表示32位ARGB位图,即A=8,R=8,G=8,B=8,一个像素点占8+8+8+8=32位,4个字节。RGB_565 :表示16位RGB位图,即R=5,G=6,B=5,它没有透明度,一个像素点占5+6+5=16位,2个字节我们在做压缩处理的时候,可以先通过改变Bitmap的图片格式,来达到压缩的效果,其实压缩最主要就是要么改变其宽高,要么就通过减少其单个像素占用的内存。
三、常用的压缩方法:1.质量压缩作者:SeanMa
链接:https://www.jianshu.com/p/08ed0e3c4e71
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 总结
以上是内存溢出为你收集整理的Android Bitmap的常用压缩方式全部内容,希望文章能够帮你解决Android Bitmap的常用压缩方式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)