Bitmap
关于Android的Bitmap.compress()压缩图片大小
public boolean compress(Bitmap.CompressFormat format, int quality, OutputStream stream) ;
- Bitmap.CompressFormat format 图像的压缩格式;
- int quality 图像压缩率,0-100。 0 压缩100%,100意味着不压缩;
- OutputStream stream 写入压缩数据的输出流;
如果成功地把压缩数据写入输出流,则返回true。
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));
bitmap.compress(Bitmap.CompressFormat.JPEG, 30, bos);
bos.flush();
bos.close();
这样图片就是压缩70%,保留图片30%的质量。
https://blog.csdn.net/infsafe/article/details/7744582
https://www.cnblogs.com/absfree/p/5361167.html
https://blog.csdn.net/lazyer_dog/article/details/50593756
android中图片加载到内存中所占空间大小计算:分辨率 heightwidth一个像素所占空间大小
解析:decode时指定解码方式为ARGB_8888 代表用8位表示透明度(A),8位表示红色(R),8位表示绿色(G),8位表示蓝色(B),也就是说每个像素占用4*8=32位空间(等于4byte),相对应 RGB_565,一共用16位(2byte)表示一个像素
举个例子,上述属性图片,加载到程序中 分别占用72012304=3542400byte= 3.38MB(ARGB_8888);72012302=1771200byte=1.67MB(RGB_565)