提高Android的HTTPClient连接速度

时间:2014-03-07 22:30:58

标签: java android http

我一直在寻找几个小时,试图找到答案,但我似乎无法得到任何东西。

在我正在制作的Android应用中,我正在尝试连接到网站并获取其标题。从每个页面我需要getStatusCode()和响应时间。我可以这样做,但问题是它需要很长时间。每个连接在0.7到3秒之间。我尝试了一大堆网站,这不仅仅是服务器问题。 代码如下:

HttpParams params = new BasicHttpParams();
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpClient httpclient = new DefaultHttpClient(params);
HttpResponse response;
String responseString = null;

long startTime = System.currentTimeMillis();
response = httpclient.execute(new HttpGet(site));
long elapsedTime = System.currentTimeMillis() - startTime;
Log.v("debugging",elapsedTime+" ");

从我读过的内容来看,很多人一直在抱怨速度。有些人说,指定http版本会使它更快,但这并没有改变任何东西。 有没有人知道如何更快或更快的方法。

由于

1 个答案:

答案 0 :(得分:0)

最近我遇到了同样的问题,特别是在使用Android 2.3.x请求的旧设备上,响应时间超过3秒。使用HttpURLConnection后,响应时间约为1秒,具体取决于响应的大小。在nexus 4上,请求和响应的时间与桌面浏览器大致相同。

http://developer.android.com/reference/java/net/HttpURLConnection.html

修改 试试这个http://www.mkyong.com/java/how-to-send-http-request-getpost-in-java/的例子。它对我帮助很大。

现在我记得,我还做了一件事,这对旧设备有帮助。如果您的服务器使用GZIP压缩,请尝试禁用它。

urlConnection.setRequestProperty("Accept-Encoding", "identity");

来源:http://developer.android.com/reference/java/net/HttpURLConnection.html