小编Ana*_*Ana的帖子

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

我不是位图的新手,也不是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)

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

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

java optimization android bitmap

5
推荐指数
0
解决办法
2111
查看次数

标签 统计

android ×1

bitmap ×1

java ×1

optimization ×1