1.android-async-http(1.2MB):经典的网络异步通信函数库
1>支持异步http请求,并在匿名回调函数中处理响应
2>在子线程中发起http请求
3>内部采用线程池处理冰法
4>通过RequestParams类实现get/post参数构造
5>无需第三方库支持即可实现Multipart上传
6>支持多种移动环境下自动智能的请求重试机制 7>响应中实现自动的gzip解码,快速响应
8>内置多种形式的响应解析。eg:原生字节流,String,JSON对象,也可将reaponse写入文件 9>可以永久cookie保存,内部实现用的是Android的sharedPerference
10>6.0之后对开发者隐藏了HttpClient,可在编译器引入org.apache.http.legacy,在SDK/platforms/android
-25/optional,确保编译时不会出现找不到HttpClient的错误
dependencies{
compile 'cz.msebera.android:httpclient:4.3-6'
}
2.OKHttp(392KB):高效的http客户端,依赖于okio
1>支持http/2和SPDY,对同一主机所有请求共分享一个socket
2>当SPDY不可用,使用连接池减少请求延迟
3>透明的gzip压缩减少下载数据大小
4>缓存响应避免重复的网络请求
3.Volley(94KB):提供了语义级的缓存,适合数据量不大,但操作频繁的HttpURLConnection
4.Retrofit(333KB):默认使用GSON作为ISON解析器,使用OKHttp实现网络请求,三者通常配合使用,两者也可变更