11

我知道为什么会发生 OutOfMemoryError 异常。但是有任何最好的方法可以将字节数组转换为位图。我使用了下面的代码,但是当大字节时它会强制关闭应用程序并给出 OutOfMemoryError 异常。

我有 API,它只返回字节数组。

Bitmap bmp = BitmapFactory.decodeByteArray(bytearray, 0, bytearray.length);
4

4 回答 4

9
Bitmap bitmap = BitmapFactory.decodeByteArray(bitmapbytes , 0, bitmapbytes .length);

返回 解码的位图,如果图像无法解码,则返回 null。

于 2015-04-15T12:16:49.480 回答
3

这对我有用:顺便说一下,照片是一串图像。

byte[] imgbytes = Base64.decode(photo, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(imgbytes, 0,
imgbytes.length);
imageupload.setImageBitmap(bitmap);
于 2012-08-09T08:22:27.567 回答
0

您可能必须使用以下方法(DOC,相同的方法,但使用 options 参数):

public static Bitmap decodeByteArray (byte[] data, int offset, int length, BitmapFactory.Options opts)

并使用options参数。希望这会帮助你=)

于 2012-07-24T11:06:26.470 回答
0

您可能希望使用 AQuery 库来加载图像,这将帮助您调整大小、查看等并避免最常见的内存泄漏。这个工具可以在这里找到:http ://code.google.com/p/android-query/

于 2012-08-09T08:16:14.657 回答