我不是位图的新手,也不是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)
但这很慢(先慢一点,再慢一点):(
请,有人可以提供更快的方法吗?引导我...