android - 设置 android :targetSdkVersion > 10 时 Android 上的 HTTP 请求较慢

标签 android apache-httpclient-4.x

我遇到了一个奇怪的问题。如果不设置 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/

相关文章:

java - 从 Commons HttpClient 迁移到 HttpComponents 客户端

java - "cURL -u"使用 Apache HTTPClient 的 API key 授权

Android在地球坐标系上获取加速度计

android - 如何在PreferenceActivity中的Preference Item右边标记一个Icon?

android - 使用 BaseAdapter 在 Listview 中 header

ios - 使用 Objective-C 的 HTTP 客户端上传图像

java - Apache HttpClient 4.2.1 登录成功后填写表单的POST请求

java - 在 View 中创建简单的是/否对话框 (Android)

android - 如何停止新线程(new Runnable())

hadoop - "Content-type"用于使用 Web HDFS REST 客户端上传 jars 文件