如何使用WIFI提高Android上的连接速度

时间:2012-07-25 08:31:13

标签: android httpurlconnection

                URL url = new URL(URL path);
                HttpURLConnection connection = (HttpURLConnection)url.openConnection();
                connection.setConnectTimeout(30000);
                connection.setReadTimeout(30000);
                connection.setDoInput(true);
                connection.setUseCaches(true);
                connection.connect();
                InputStream is = connection.getInputStream();

上面的代码是我的Android代码 我尝试连接URL路径并获取InputStream的信息 我尝试通过Android手机和iPhone连接相同的URL路径和相同的wifi Android手机通过摩托手机或HTC手机大约花费10秒钟 但iPhone只花不到3秒钟 我认为这可能不仅仅是因为wifi的速度。(因为我尝试使用相同的wifi) 所以我想问一下,代码可以改进吗?

2 个答案:

答案 0 :(得分:2)

尝试使用apache HttpClient代替URL.openConnection()

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet get = new HttpGet("http://your.url");

HttpResponse response;
try {
    response = httpClient.execute(get);
    InputStream is = response.getEntity().getContent();
} catch(Exception e){
    e.printStackTrace();
}

修改

在API级别22(Android M)中,将删除Apache HttpClient,因此不推荐使用此方法。

更多信息请参阅: http://developer.android.com/preview/behavior-changes.html#behavior-apache-http-client

推荐的方法是使用HttpUrlConnectionhttp://developer.android.com/reference/java/net/HttpURLConnection.html):

URL url = new URL("http://your.url");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
try {
    InputStream in = new BufferedInputStream(urlConnection.getInputStream());
    readStream(in);
} finally {
    urlConnection.disconnect();
}

答案 1 :(得分:0)

使用volley它是一个HTTP库,可以更轻松,更快地为Android应用程序建立网络。 Volley可在GitHub上找到。 Volley可以帮助您简化和改善应用程序网络运营的性能。