安卓中经常会使用到图片资源,绘制到屏幕上的图片是如何保存的。这里针对图片的处理总结如下:
可以看到Bitmap.config中针对图片的配置有四种,分别是;ARGB_8888,ARGB_4444,RGB_565,ALPHA_8
ARGB_8888配置支持透明通道,就是有一位是专门为透明通道存储值的。存储ARGB每个通道值都是8位,一个字节。总共32位,4个字节。每个像素点用4个字节来存储。
ARGB_4444配置支持透明通道,存储ARGB每个通道值是4位,每个通道算半个字节。总共16位,2个字节。每个像素点用2个字节来存储。
RGB_565不支持透明通道,存储RGB分别是5位6位5位,总共是16位,2个字节。每个像素点用2个字节来存储。
ALPHA_8只有 A 通道,占 8 位,1 个字节。每个像素点占用 1 个字节的大小。
保存质量和使用选择:
ARGB_8888保存图片质量最高,但是占用内存也比较大。
ARGB_4444保存质量失真严重,
RGB_565保存图片虽然失真很小,但是没有透明通道。
ALPHA_8 只有透明度,没有颜色值。对于在图片上设置遮盖的效果的是有很有用。
总结一下:
ARGB_4444 图片失真严重,基本很少用。
ALPHA_8 使用场景比较特殊。
如果不设置透明度,RGB_565是个不错选择。
既要设置透明度,对图片质量要求又高的化,那就只能用 ARGB_8888