在安卓上网络请求有两种方式,一种是java自带的HttpURLConnection, 一种是Apache的Http Clinet, 但是要选择两方式比较好呢?
摘录Android 官方博客:
Which client is best?
Apache HTTP client has fewer bugs on Eclair and Froyo. It is the best choice for these releases.
For Gingerbread and better, HttpURLConnection is the best choice. Its simple API and small size makes it great fit for Android. Transparent compression and response caching reduce network use, improve speed and save battery. New applications should use HttpURLConnection; it is where we will be spending our energy going forward.
在Android 2.3之前,最好选择Apache Http client,在Android 2.3及以后请选择HttpURLConnection。
有兴趣的可以研究下Volley框架:
if (Build.VERSION.SDK_INT >= 9) {
stack = new HurlStack();-->HttpURLConnection
} else {
// Prior to Gingerbread, HttpUrlConnection was unreliable.
// See: http://android-developers.blogspot.com/2011/09/androids-http-clients.html
stack = new HttpClientStack(AndroidHttpClient.newInstance(userAgent)); -->Apache Http client
}