Java中BitmapFactory.decodeByteArray()的最大字符串长度?

时间:2016-01-26 06:22:10

标签: java android bitmap base64

我在Android应用中收到Base64编码的字符串,并将其转换为位图,如下所示:

final String base64Image = getPicResponse.getString(GETPIC_PARAM_BASE64IMAGE);

final byte[] decodedString = Base64.decode(base64Image, Base64.DEFAULT);

Bitmap decodedByteBitmap = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);

有时decodedByteBitmap是有效的位图,有时它是空的。在尝试查找模式时,我打印以下内容:

DataUtils.log("In GcmIntentService - Received image length is: " + base64Image.length());

当使用2个测试图像时,我注意到当字符串较长时它会失败。例如,它将用于字符串长度465,072,但是对于字符串长度672,412将失败。

BitmapFactory.decodeByteArray是否有我不知道的输入大小限制?如果是这样,我还有什么方法可以将Base64编码的位图转换为位图?

文档(http://developer.android.com/reference/android/graphics/BitmapFactory.html)仅提及如果无法解码,则返回null,但不提供任何其他信息。

由于

0 个答案:

没有答案