IT培训网 - IT职场人学IT技术上IT培训网
Android开发开源项目
时间:2016-10-21 13:42:14 来源:Android培训网 作者:IT培训网 已有:名学员访问该课程
由于xUtils公共的库它不是只支持http,还支持orm、bitmap、view注解,本着专一原则我们项目中就不会选择xUtils, 这里我们就不介绍它了。
下面我们就分别说说Retrofit、okhttp、android-async-http、还要volley。
Volley
Google提供网络通信库,在2013年Google I/O大会上推出了一个新的网络通信框架,官方是这样说的:
Easy, Fast Networking for Android
特点:
自动调度网络请求
多线程并发网络连接、请求优先级
请求Cache和内存管理
扩展性强 如:支持自定义重连等
支持请求取消
强大的Debug、tracing
缺点:
对于大数据量的网络操作糟糕, 如:下载文件等
下图是它的工作原理图

它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,如list加载等等
okhttp
square 开源的 http协议 工具类,Android系统API 19以后HttpURLConnection内部实现就是使用了okhttp
特点:
支持Http/2,Http/2主要支持 SPDY协议。SPDY 协议是 Google 开发的基于传输控制协议的应用层协议,通过压缩,多路复用(一个 TCP 链接传送网页和图片等资源)和优先级来缩短加载时间。
如果 Http/2 不可用,利用连接池减少请求延迟
Gzip 压缩
Response 缓存减少不必要的请求
支持请求取消
缺点:
在服务器不支持speedy的情况下没有特别明显的优化
工作原理图

Retrofit
Square 开源RESTFUL API库, Retrofit的跟Volley是一个套路,但解耦的更彻底。同时自己内部对OkHtttp客户端做了封装, 用Retrofit+OkHttp基本上已经可以处理任何业务场景了。
特点:
简化了网络请求流程,支持注解请求
支持多种Converter、还可以自定义, 如:Gson、Jackson、protobuf、xml
可以配合RxJava使用
缺点:
看不出缺点是最大的缺点
下面的工作原理图是网友Stay的作品,如下:
roid-async-http
由于HttpClient在Android API 23后就不能使用了, android-async-http内部实现了HttpClient。 这个库我也没有用过, 只是看过一些介绍,下面摘抄了一下官网的说明仅供参考
Make asynchronous HTTP requests, handle responses in anonymous callbacks
HTTP requests happen outside the UI thread
Requests use a threadpool to cap concurrent resource usage
GET/POST params builder (RequestParams)
Multipart file uploads with no additional third party libraries
Tiny size overhead to your application, only 60kb for everything
Automatic smart request retries optimized for spotty mobile connections
Automatic gzip response decoding support for super-fast requests
Optional built-in response parsing into JSON (JsonHttpResponseHandler)
Optional persistent cookie store, saves cookies into your app’s SharedPreferences
总结
网络框架就介绍这么多吧, 以后还有合适的再做更新吧, 希望大家使用愉快!
每期开班座位有限.0元试听抢座开始!
温馨提示 : 请保持手机畅通,咨询老师为您
提供专属一对一报名服务。
- 上一篇:android调用照相机拍照
- 下一篇:如何进行Android NDK编写