永发信息网

android bitmapfactory.decodefile返回null怎么解决

答案:2  悬赏:0  手机版
解决时间 2021-04-08 08:51
  • 提问者网友:抽煙菂渘情少年
  • 2021-04-07 14:43
android bitmapfactory.decodefile返回null怎么解决
最佳答案
  • 五星知识达人网友:罪歌
  • 2021-04-07 16:10
这个android 的一个bug 。在android 2.2 以下(包括2.2) 用 BitmapFactory.decodeStream() 这个方法,会出现概率性的解析失败的异常。而在高版本中,eg 2.3 则不会出现这种异常。

各种百度、各种谷歌、各种分析问题的过程就不再多说了,这里直接说一个解决方法,如下:
//定义一个根据图片url获取InputStream的方法
public static byte[] getBytes(InputStream is) throws IOException {
ByteArrayOutputStream outstream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024]; // 用数据装
int len = -1;
while ((len = is.read(buffer)) != -1) {
outstream.write(buffer, 0, len);
}
outstream.close();
// 关闭流一定要记得。
return outstream.toByteArray();
}

//然后使用方法decodeByteArray()方法解析编码,生成Bitmap对象。
byte[] data = getBytesFromInputStream(new URL(imgUrl).openStream());
Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length);
全部回答
  • 1楼网友:第四晚心情
  • 2021-04-07 16:54
期待看到有用的回答!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯