HttpURLConnection、HttpClient

I. HttpClient

具体实现: DefaultHttpClientAndroidHtppClient

特点:

API数量繁多,官方升级维护较少

II. HttpURLConnection

特点:

多用途、轻量。API简单,易于使用、拓展。

坑点:

Android 2.2以前: 可读的InputStream调用close时,可能导致连接池失效(通常解决方法禁用连接池功能)。

迭代亮点:

Andorid 2.3
Android 4.0
  • 响应缓存机制(HttpResponseCache#install):
  1. 都由本地提供的响应,没有必要发起网络连接的请求,都直接从本地缓存直接取得
  2. 视情况而定的缓存响应,由服务器确定(304 Not Modified代表不需要更新,就不会下载任何数据,将直接用本地缓存);
  3. 没有缓存的响应,都由服务器直接下载。

III. 选择

推荐Android 2.2以前使用HttpClient,由于Android 2.2以前的HttpURLConnection存在坑点,而相比而言HttpClient在Android 2.2以前比较稳定。



Jacksgong wechat
欢迎关注Jacks Blog公众号,第一时间接收原创技术沉淀干货。