Drawable 与 Bitmap
Drawable
作为Android平下通用的图形对象,它可以装载常用格式的图像,比如GIF、PNG、JPG,当然也支持BMP,当然还提供一些高级的可视化对象,比如渐变、图形等Bitmap
称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565、RGB888。作为一种逐像素的显示对象执行效率高,但是缺点也很明显存储效率低。我们理解为一种存储对象比较好。Bitmap 格式类型
- ALPHA_8
- ARGB_4444
- ARGB_8888
- RGB_565
表示16位RGB位图,即R=5,G=6,B=5,它没有透明度,一个像素点占5+6+5=16位,2个字节
图片压缩
质量压缩(compress)
压缩bitmap到目标大小原理:保持像素的前提下改变图片的位深及透明度,只影响file的大小,加载这个图片出来的bitmap内存是无法节省的
使用场景:将图片压缩后将图片上传到服务器,或者保存到本地
代码:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);