我有个奇怪的问题。在没有设置android:targetSdkVersion的情况下,我的http请求大约需要1..2秒完成,例如设置android:targetSdkVersion="16",请求大约需要20...30秒!
我在请求启动时进行了记录,并注意到当我启动Activity时,系统会一直处于空闲状态,直到发出请求为止。
所有请求都在AsyncTask中运行。
代码如下:
BasicHttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, HTTP_POST_CONNECTION_TIMEOUT);
HttpConnectionParams.setSoTimeout(httpParameters, HTTP_POST_SOCKET_CONNECTION_TIMEOUT);
HttpPost httpPost = new HttpPost(url);
httpPost.addHeader("Accept-Encoding", "gzip");
HttpClient httpClient = new DefaultHttpClient(httpParameters);
...
HttpResponse response = httpClient.execute(request);谢谢!
发布于 2012-09-04 04:08:50
一般来说,你不应该在安卓系统中使用DefaultHttpClient。请尝试使用AndroidHttpClient。它包含了移动设备的几个变化和改进,所以它可能会对你的情况有所帮助。
https://stackoverflow.com/questions/12253457
复制相似问题