位图到Byte []覆盖的更快方法

Ana*_*Ana 5 java optimization android bitmap

我不是位图的新手,也不是Java的新手。我试图在循环中将高分辨率位图转换为字节数组。请在这里找到代码:

ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 50, stream);
imageByteArray = stream.toByteArray();
Run Code Online (Sandbox Code Playgroud)

当我使用上述方法时,我可以在1秒钟内转换5张图像。但是我需要它更快。我尝试了ByteBuffer类似的方法:

Bitmap bmp = intent.getExtras().get("data");
int size = bmp.getRowBytes() * bmp.getHeight();
ByteBuffer b = ByteBuffer.allocate(size);

bmp.copyPixelsToBuffer(b);

byte[] bytes = new byte[size];

try {
b.get(bytes, 0, bytes.length);
} catch (BufferUnderflowException e) {
// always happens
}
Run Code Online (Sandbox Code Playgroud)

但这很慢(先慢一点,再慢一点):(

请,有人可以提供更快的方法吗?引导我...