Android 开发中,使用HttpURLConnection加载网络图片的时候,
偶尔会出现:“SkImageDecoder::Factory returned null”错误!
代码如下:
<wbr></wbr>
HttpURLConnectionconnection = (HttpURLConnection) url.openConnection(); connection.setDoInput(true); connection.connect(); InputStreaminput = connection.getInputStream(); bitmap[i] =BitmapFactory.decodeStream(input); System.out.println("the bitmap is " + bitmap[i]);
<wbr></wbr>
输出:
SkImageDecoder::Factory returned null the bitmap is null
<wbr></wbr>
<wbr></wbr>
<wbr></wbr>
如果使用apache的HttpClient的话,就不会有问题了,
代码如下:
<wbr></wbr>
HttpGethttpRequest = newHttpGet(url); HttpClienthttpclient = newDefaultHttpClient(); HttpResponseresponse = (HttpResponse) httpclient.execute(httpRequest); HttpEntityentity = response.getEntity(); BufferedHttpEntitybufferedHttpEntity = newBufferedHttpEntity(entity); InputStreamis = bufferedHttpEntity.getContent(); bitmap =BitmapFactory.decodeStream(is);
<wbr></wbr>
<wbr></wbr>
这里再一次证明了
<wbr></wbr>
apache的HttpClient比Java的HttpURLConnection强大
本文对比了Android开发中使用HttpURLConnection和Apache HttpClient加载网络图片时遇到的‘SkImageDecoder::Factoryreturnednull’错误问题,并通过代码示例展示了如何使用HttpClient解决此问题。
2178

被折叠的 条评论
为什么被折叠?



