我还记得2017年的时候就已经有同事慢慢开始使用Retrofit网络框架了,在2018年的时候也是同事封装好我直接使用的,索性2020年的时候自己写新项目,借着这个机会巩固封装了一波,只是时隔几个月才来记录,起初久久无法落笔,因为想写的有点多,最终决定分为几个部分进行记录 ~
兄弟篇
嗯哼,你为什么使用Retrofit啊?
嗯…嗯… 因为Retrofit是基于okHttp进行的二次封装,那么就首先就具备了okHttp的优势,即 👇
okHttp优点(远不止以下几点)
- 内置连接池,减少请求延迟,支持连接复用;
- 支持gzip压缩响应体,减少传输的数据量;
- 通过缓存响应避免了重复的请求;
- 支持http2、SPDY, 对一台机器的所有请求共享同一个socket;
okHttp缺点(远不止以下几点)
- 消息传递需要频繁切换子主线程
At the same time
,Retrofit支持了RxJava、RxAndroid的响应式编程,可快速动态切换子主线程,从而实现同步、异步的请求,这样在弥补了okHttp的不足之余,还二次进行了升级;
Last
,Retrofit是一款注解型的网络框架,使用简单,扩展性强、耦合性低,安全性高、同时支持动态解析Model,可配置不同HTTP client来实现网络请求,如okhttp、httpclient等;