Android Bitmap的常用压缩方式

Android Bitmap的常用压缩方式,第1张

概述一、前言已经好久没有更新博客,大概有半年了,主要是博主这段时间忙于找工作,Android岗位的工作真的是越来越难找,好不容易在广州找到一家,主要做海外产品,公司研发实力也不错,所以就敲定了三方协议。现在已经在公司实习了一个月多,目前主要是负责公司某个产品的内存优化,刚好就总结了一 一、前言

已经好久没有更新博客,大概有半年了,主要是博主这段时间忙于找工作,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的常用压缩方式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1064368.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存