带你一步步剖析Retrofit 源码解析:一款基于 OkHttp 实现的网络请求框架
OkHttp与Retrofit 的区别与联系是怎样的? 参考答案: OkHttp和Retrofit都是目前流行网络开源框架 封装不同: Retrofit封装了具体的请求,线程切换以及数据转换。 retrofit通过使用代理,外观,策略模式对okhttp进行了封装 OkHttp 是基于Http协议封装的一套请求客户端 职责不同: Retrofit主要负责应用层面的封装,面向开发者,方便使用,比如请求参数,响应数据的处理,错误处理等等。 OkHttp主要负责socket部分的优化与封装,比如网络访问,多路复用,buffer缓存,数据压缩等等。 ( 顺手留下GitHub链接,需要获取相关面试等内容的可以自己去找 ) https://github.com/xiangjiana/Android-MS (VX:mm14525201314) Retrofit 可以说和 OkHttp 是亲兄弟了,它们都是由 Square 公司推出的网络请求库,并且 Retrofit 实际上是基于 OkHttp 实现的,它在 OkHttp 现有功能的基础上进行了封装,支持通过注解进行网络请求参数的配置,同时对数据返回后的解析、序列化进行了统一的包装,甚至在近期引入了对协程对支持。 今天就让我们一起来看看 Retrofit 是如何在 OkHttp 这样一个已经固定的框架的基础上,优雅的进行封装并拓展功能的。 基本使用