我遇到了一个奇怪的问题。如果不设置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);
谢谢!
答案 0 :(得分:0)
通常,您不应在Android中使用DefaultHttpClient
。请尝试使用AndroidHttpClient
。它包含对移动设备的一些更改和改进,因此可能对您有所帮助。