我的代码如下:
public static byte[] compress(byte[] data, CompressFormat format, int quality)
{
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
final Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length);
try {
bm.compress(format, quality, baos);
} finally {
bm.recycle();
}
return baos.toByteArray();
}
当原始图像的大小很大时,我担心内存使用情况。调用compress()之后但在调用recycle()之前,内存中存在以下内容:
基础Android中是否有任何功能可以在不创建中间Bitmap对象的情况下执行此解码/编码步骤?还是我不必要地担心?
答案 0 :(得分:0)
我认为您无法选择加载位图。但这不是问题。如果您的图像很大,请在将其加载到内存之前将其缩小。
查看http://developer.android.com/training/displaying-bitmaps/load-bitmap.html