For my current application I collect images from different "event providers" in Spain.
Bitmap bmp=null;
HttpGet httpRequest = new HttpGet(strURL);
long t = System.currentTimeMillis();
HttpResponse response = (HttpResponse) httpclient.execute(httpRequest);
Log.i(TAG, "Image ["+ strURL + "] fetched in [" + (System.currentTimeMillis()-t) + "ms]");
HttpEntity entity = response.getEntity();
InputStream instream = entity.getContent();
bmp = BitmapFactory.decodeStream(instream);
return bmp;
However, when downloading images from salir.com I get the following logcat output:
13970 Gallery_Activity I Fetching image 2/8 URL: http://media.salir.com/_images_/verticales/a/0/1/0/2540-los_inmortales_la_trattoria-marc_aureli_27_29_no.jpg
13970 ServiceHttpRequest I Image [http://media.salir.com/_images_/verticales/a/0/1/0/2540-los_inmortales_la_trattoria-marc_aureli_27_29_no.jpg] fetched in [146ms]
13970 skia D --- decoder->decode returned false
对这一错误信息进行搜索,并没有带来非常有益的结果。
谁认为问题是什么?
Gracias!
<><>Update 1:
我在多问一线并测试不同的缺陷后,发现问题似乎在其他地方。 尽管我的原木目录产出说,
13970 ServiceHttpRequest I Image [http://media.salir.com/_images_/verticales/a/0/1/0/2540-los_inmortales_la_trattoria-marc_aureli_27_29_no.jpg] fetched in [146ms]
getContentLength(): 93288
这是一种正确形象的长度,似乎与流层或吉大港山区连接有点错。
我的原始法典(博览)正在利用http://developer.android.com/vis/org/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager.html“rel=” ThreadSafeClientConnManager。 如果我只用一个简单的<代码>URLConnection加以替换,则它完全运作:
URL url = new URL(strURL);
URLConnection conn = url.openConnection();
conn.connect();
InputStream instream = conn.getInputStream();
bmp = BitmapFactory.decodeStream(instream);
因此,我现在要问一下,为什么我的<编码>ThreadSafeClientConnManager? 与我的所有其他链接(主要是交换< 代码>JSONObjects)的工作毫无节制(至少似乎如此),但与某些特定网站(例如,其运作的大多数其他网站)的图像无关。 是否存在吉大港山区第一小米的缺失?
我目前的架构是:
HttpParams parameters = new BasicHttpParams();
HttpProtocolParams.setVersion(parameters, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(parameters, HTTP.UTF_8);
HttpProtocolParams.setUseExpectContinue(parameters, false); // some webservers have problems if this is set to true
ConnManagerParams.setMaxTotalConnections(parameters, MAX_TOTAL_CONNECTIONS);
HttpConnectionParams.setConnectionTimeout(parameters, CONNECTION_TIMEOUT);
HttpConnectionParams.setSoTimeout(parameters, SOCKET_TIMEOUT);
SchemeRegistry schReg = new SchemeRegistry();
schReg.register(new Scheme("http",
PlainSocketFactory.getSocketFactory(), HTTP_PORT));
ClientConnectionManager conMgr = new ThreadSafeClientConnManager(parameters,schReg);
DefaultHttpClient http_client = new DefaultHttpClient(conMgr, parameters);
<><>上>
现在奇怪的是,它实际上与<代码”合作。 ThreadSafeClientConnManager-sometimes-。 如果我不断试图下载图像,并在一行中分两度加以脱节,那么在15至30次审判之后,我可能会工作。 非常奇怪。
我希望能找到解决办法,因为我倾向于使用<代码>。 ThreadSafeClientConnManager und
<><>Update 3:
如Mike Mosher下文所述,似乎通过。 http://www.emdecoding误差 似乎没有。 然而,现在,即使比以前少,我还是收到一份<代码>SkImageDecoder:Factory 退回无效/编码错误。