我一直在寻找几个小时,试图找到答案,但我似乎无法得到任何东西。
在我正在制作的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版本会使它更快,但这并没有改变任何东西。 有没有人知道如何更快或更快的方法。
由于
答案 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