SkImageDecoder::Factory 返回了空值。

4

我正在进行Android编程,并使用以下代码从远程URL读取图像

BitmapFactory.decodeStream( ....

有时会出现以下错误:

SkImageDecoder::Factory returned null

我在这里阅读了一些帖子,但仍然没有解决我的问题(使用InputStream类的包装器、使用drawable等)

有什么想法吗?


6
通常情况下,当你尝试解码的内容并非有效的图片格式时,就会出现该错误。由于你正在处理远程图片,所以可能返回的是一些 HTML 代码,而这显然无法被解码成图片。建议添加一个调试输出,打印每个获取到的图片(URL),并手动检查其中一个返回上述错误的图片。或者,可以通过代理路由网络流量,以便查看服务器实际返回的内容。 - MH.
你读过这个链接吗:https://dev59.com/82ct5IYBdhLWcg3wjuAj?我遇到了同样的问题,它解决了我的问题。 - Kowlown
我经常遇到这个问题。 BitmapFactory无法解码一些其他程序可以解码的JPEG图像。我希望它能提供更多关于为什么无法解码的细节。 - Hong
1个回答

0
我也遇到过这个问题...最终我发现图片太大导致了错误。我建议你尝试一个你知道大小差不多的图片。 另外,你可以使用库picasso
Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);

但是对于我来说,即使使用 Picasso 我也遇到了错误...因为图片太大了。

希望它能有所帮助(:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接