int count = bitmap.getWidth() * bitmap.getHeight() / 1024; Log.d("bitmap:compress", "压缩前:" + count); ByteArrayOutputStream output= new ByteArrayOutputStream(); // 第二个参数表示压缩质量,100表示不压缩,把压缩后的数据存放到output中 bitmap.compress(Bitmap.CompressFormat.JPEG, 50, output); count = bitmap.getWidth() * bitmap.getHeight() / 1024; Log.d("bitmap:compress", "压缩后:" + count); Log.d("bitmap:compress", "压缩后:" + output.toByteArray().length / 1024);
bitmap.recycle();//释放bitmap占用的内存
运行以上代码--输出:
压缩前 85
压缩后 85
压缩后 24 --
如果将第二个参数50改为10 则会
压缩前 85
压缩后 85
压缩后 13 --