我遇到了一个奇怪的问题。如果不设置 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);
谢谢!
最佳答案
通常你不应该在 Android 中使用 DefaultHttpClient
。请尝试使用 AndroidHttpClient
。它包含针对移动设备的多项更改和改进,因此可能对您有所帮助。
关于android - 设置 android :targetSdkVersion > 10 时 Android 上的 HTTP 请求较慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12253457/