网络框架比较(二)

            自己重新整理了一份网络框架比较,对比了多个框架。目前使用的比较多的volley、okhttp、retrofit,从官网找了资料,

根据demo和总结,最终形成了表格。项目中volley部分机型、特定网络就会卡顿,特别慢。retrofit要定义接口,建议和rxjava一起使用,看是否习惯,是否容易上手。推荐使用okhttp,方便封装调用。

安卓网络框架比较
说明:网络请求框架比较多,现阶段使用比较多、不断更新的框架推荐Volley,Okhttp,Retrofit。网络基础工具HttpUrlConnection,android-async-http功能简单,需要自己封装;httpclient(安卓高版本已废弃,不再使用),xUtils3(作用广泛而不精,已停止维护),这几个不推荐使用。
框架名称开发公司官方说明优点缺点
volleyGoogle1.网络请求的自动调度。
2.多个并发网络连接。
3.具有标准HTTP缓存一致性的透明磁盘和内存响应缓存。
4.支持请求优先级。
5.取消请求API。您可以取消单个请求,也可以设置要取消的请求块或范围。
6.容易定制,例如,重试和后退。
7.强排序,使正确地使用从网络异步获取的数据填充UI变得容易。
8.调试和跟踪工具。
1. 扩展性强,基于接口设计。
2. 一定程度上符合http规范。返回包ResponseCode 的处理,请求头的处理,缓存机制的支持。
3. 重试以及优先级的定义。
4. 提供简单的图片加载工具。
5.jar包较小,减小包体积。
1.不适合大的下载或者流式传输操作
2.不支持okio机制,
3.不支持重连机制,部分情况下请求会很慢甚至卡顿。
okhttpSquare1.HTTP是现代应用程序网络的方式。有效地使用HTTP将使您的内容加载速度更快,并节省带宽。
2.OkHttp是一个HTTP客户端,默认情况下是高效的。
3.HTTP/2支持允许对同一主机的所有请求共享一个socket。
4.连接池减少了请求延迟(如果HTTP/2不可用)。
5.透明GZIP缩小了下载大小。
6.响应缓存完全避免了网络对重复请求的访问。
7.当网络出现问题时,OkHttp会坚持下来:它会从常见的连接问题中安静地恢复。如果您的服务有多个IP地址,那么如果第一次连接失败,OkHttp将尝试替换地址。
1.支持GZIP压缩机制。
2.底层实现了OKIO机制,读写操作更高效。
3.支持统一主机所有请求共享socket
4.当网络出现问题,会在多个服务器之间切换地址,优化网络加载速度。
1.是消息回来需要切到主线程,主线程要自己去写。
2.调用比较复杂,需要自己进行封装。
3.缓存失效:网络请求时一般都会获取手机的一些硬件或网络信息,比如使用的网络环境。同时为了信息传输的安全性,可能还会对请求进行加密。在这些情况下OkHttp的缓存系统就会失效了,导致用户在无网络情况下不能访问缓存。

 
RetrofitSquareRetrofit是对okhttp封装的网络框架,Android和Java的类型安全HTTP客户端。1.可以配置不同HTTP client来实现网络请求,如okhttp、httpclient等;
2.请求的方法参数注解都可以定制;
3.支持同步、异步和RxJava;
4.超级解耦;
5.可以配置不同的反序列化工具来解析数据,如json、xml等;

 
1.不能接触序列化实体和响应数据;
2.执行的机制太严格;
3.使用转换器比较低效;
4.只能支持简单自定义参数类型;
5.大量使用注解,效率会降低。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值