Android网络通信(笔记)

本文对比了Android开发中常用的四种网络库:android-async-http、OKHttp、Volley及Retrofit的特点与应用场景。涵盖异步请求处理、缓存机制、gzip解压等功能。

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实现网络请求,三者通常配合使用,两者也可变更                                                                             

                                                                                                                                                                                                                                                                                             

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值