1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| 常见的优化方法有:
1.通过采样率压缩(缩小尺寸): 使用 BitmapFactory.Options.inSampleSize,按比例缩小图片:
BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(path, options); options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight); options.inJustDecodeBounds = false; Bitmap bitmap = BitmapFactory.decodeFile(path, options);
2.使用更小的颜色格式: -ARGB_8888:32位,4字节/像素,默认。 -RGB_565:16位,2字节/像素,不支持透明,但内存减少一半。 options.inPreferredConfig = Bitmap.Config.RGB_565;
3.图片压缩编码(质量压缩): 用于减少文件大小,不影响加载时内存占用: bitmap.compress(Bitmap.CompressFormat.JPEG, 80, outputStream);
|