二次采样设置的四种彩色模式RGB565,ARGB8888,ARGB4444,ALPHA_8

来源:互联网 发布:模型仓 淘宝 编辑:程序博客网 时间:2024/06/15 22:25

  在上一篇博客三级缓存和二次采样的使用中我们提到了四张彩色模式,下面我就给大家介绍一下

在介绍之前我们小了解一下Android中图片占用内存的几个主要的因素:

1 图片长度

2 图片宽度,

  3 单位像素占用的字节数

所以一张图片的占用的内存可以用计算公式:

一张图片(Bitmap)占用的内存 = 图片长度 * 图片宽度 * 单位像素占用的字节数.


需要注意的是:图片长度和图片宽度的单位是像素。图片(Bitmap)占用的内存和屏幕密度(Density)无关。创建一个Bitmap时,其单位像素占用的字节数由其参数BitmapFactory.Options的inPreferredConfig变量决定。


好了下面我们来说说四种彩色模式

1、Bitmap.Config  ALPHA_8 :
此时图片只有alpha值,没有RGB值,一个像素占用一个字节 。


2、Bitmap.Config ARGB_4444 :
这种格式的图片,看起来质量太差,已经不推荐使用。 而强烈推荐使用ARGB_8888来代替。
一个像素占用2个字节,alpha(A)值,Red(R)值,Green(G)值,Blue(B)值各占4个bites 。 共16bites,即2个字节。


3、Bitmap.Config ARGB_8888:
一个像素占用4个字节,alpha(A)值,Red(R)值,Green(G)值,Blue(B)值各占8个bites , 共32bites , 即4个字节。这是一种高质量的图片格式,电脑上普通采用的格式。它也是Android手机上一个bitmap的默认格式。


4、Bitmap.Config RGB_565:

一个像素占用2个字节,没有alpha(A)值,即不支持透明和半透明, Red(R)值占5个bites ,Green(G)值占6个bites ,Blue(B)值占5个bites,共16bites,即2个字节。 对于半透明颜色的图片来说,该格式的图片能够达到比较好的呈现效果,相对于ARGB_8888来说也能减少一半的内存开销,因此它是一个不错的选择。


另外我们通过android.content.res.Resources来取得一个张图片时,它也是以该格式来构建bitmap。从Android4.0开始,该选项无效。即使设置为该值,系统任然会采用ARGB_8888来构造图片。
【备注】:ARGB指的是一种色彩模式,里面A代表Alpha,R表示red,G表示green,B表示blue,其实所有的可见色都是红绿蓝组成的,所以红绿蓝又称为三原色。 ARGB就是:透明度 红色 绿色 蓝色。

下面我们说说内存计算方法:
图片格式占用内存的计算方法:以一张100*100px的图片占用内存为例
ALPHA_8:
  图片长度*图片宽度
  100*100=10000字节
ARGB_4444:
  图片长度*图片宽度*2
  100*100*2=20000字节 
ARGB_8888:
  图片长度*图片宽度*4
  100*100*4=40000字节 
RGB_565:
  图片长度*图片宽度*2
  100*100*2=20000字节

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一闭眼就做噩梦怎么办 吃鸡游戏上瘾了怎么办 使命召唤7很卡怎么办 w10升级系统卡死怎么办 答题卡写错位置怎么办 高考答错区域该怎么办 荒野行动画面中间有条横怎么办 荒野行动pc闪退怎么办 幽灵行动荒野子弹没了怎么办 看门狗2枪没子弹怎么办 爱奇艺不小心删除了本地视频怎么办 80岁老太太就爱闹肚子怎么办? 皇牌空战5弹药不够怎么办 辐射4玩着头晕怎么办 官司打赢了法院不给钱怎么办 电脑玩dnf太卡怎么办 soul被禁止私聊怎么办 刺激战场空投挂树上怎么办 由于经济原因心态不好怎么办 公司经济不好不裁员怎么办 家里经济不好没有钱怎么办 银行柜员找不到工作怎么办 在球队中打替补怎么办 大学生毕业后找不到工作怎么办 30岁不敢换工作怎么办 投完简历没回复怎么办 工业废气一年总量超标怎么办 安监局行政处罚没能力交怎么办 被社会淘汰的人怎么办 宝宝吐奶的时候怎么办 网友要我发红包怎么办 电脑久了很慢怎么办 影驰显卡花屏怎么办 反恐精英全球攻势加载地图慢怎么办 老滚5视角锁死了怎么办 苹果描述文件没有了怎么办 苹果6s发热严重怎么办 苹果6s发烫严重怎么办 手机型号不适配全军出击怎么办? 苹果5版本过低怎么办 在泰国买到假货怎么办