Android HttpURLConnection及HttpClient选择

介绍Android中Http请求方式的选择、区别及几个常用框架对API的选择

1. 两种请求方式对比
Android Http请求API主要分两种:
第一种是Java的HttpURLConnection,默认带gzip压缩
第二种Apache的HttpClient,默认不带gzip压缩
两种方式请求connection都是keep alive,默认User-Agent不同。

关于两种方式发出去的请求头对比图如下:
HttpURLConnection
HttpClient

上图是通过抓包抓包的,具体如何抓包可参考: Android利用Fiddler进行网络数据抓包
测试代码见: [email protected], 测试APK见: http-api-compare.apk

 

2. 常用Http框架对Http API的选择
Retrofit及Volley框架默认在Android API 9及以上都是用HttpURLConnection,9以下用HttpClient。

这样我们也能看出就算我们自己不使用框架对这两个API的选择了.

 

3. GZip压缩
一般对于API请求需带上GZip压缩,因为API返回数据大都是JSon串之类字符串,GZip压缩后内容大小大幅降低,下面是这两个网页GZip压缩前后对比,都是第一条表示GZip压缩后,第二条为压缩前
GZip
更多关于网络请求优化请参考: Android性能优化第四部分网络的介绍

相关文章:

Tagged:

Comments are closed.