Android Bitmap.Config BitmapFactory.Options 说明

BitmapFactory.Options options = new BitmapFactory.Options();
/*
ARGB: alpha, red, green, blue
ALPHA_8 8位 1byte 每像素1字节  按官方注释是说,只存alpha值,测试后发现,图片照样显示。。
ARGB_4444   16位 2bytes  已过时 像素2字节  (argb各范围为4位,即0~16)
ARGB_8888   32位 4bytes  每像素4字节(argb各范围0~255) 默认值
RGB_565 16位 不含Alpha   每像互2字节r:5bits(0~32), g:6bits(0~64), b:5bits(0~32)  
测试发现内存的分配情况: ALPHA_8(23mb) ARGB_8888(23mb)  RGB_565(13mb) ARGB_4444(15mb)
以上是反复销毁再创建的内存分配情况,  看出 前两者 较大, 后两者 较小

*/

options.inPreferredConfig = Config.RGB_565; //图片颜色配置


options.inSampleSize = 2;  //宽高缩放比 这表示为原始的1/2
/*
如果设置为真,译码器将返回null(位图),但out..属性仍将被设置.
这时生成的bitmap为null, 调用options.outHeight options.outWidth 能取到真实图片的宽高
*/

options.inJustDecodeBounds = true;  //仅仅解码 bounds 即宽高,存在对应的out属性中


//decodeStream 比decodeResource 高效

Bitmap bitmap = BitmapFactory.decodeStream(stream, null, options);



你可能感兴趣的:(Android Bitmap.Config BitmapFactory.Options 说明)