Retrofit封装Okhttp逻辑原理

总结自https://www.bilibili.com/video/BV1To4y1o7Eb

retrofit封装了Okhttp 本身并不能进行网络请求。只能在Android使用的网络请求框架。

1.png
2.png

request:统一完成(post/get/...)
回调陷阱:完成上一步网络请求才能进行下一步网络请求。

3.png

Retrofit简化了网络请求。优化了网络请求的使用。

4.png
5.png
7.png

build设计模式:参数》5个;存在可选参数。
retrofit.java这里使用的设计模式:
外观、门面模式:本生并不具备什么功能,封装了网络请求的接口。

6.png

Retrofit的create为什么用动态代理?

8.png
9.png

这行代码是Retrofit的核心,返回了一个对象。
等于new 了一个ISaredListService()对象
动态代理。

10.png

1.对接口了进行拦截。获取到所有的注解信息,即是构建request动态变化的对象
2.就可以动态构建带着具体请求的url。
3.解决了构建url繁琐的问题。

11.png

serviceMethod设计理念

12.png

loadServiceMethod方法包含大量反射、大量解析。
所以设计了一个存放serviceMethod的缓存

13.png
14.png
15.png

每一个接口都有一个对应的serviceMethod。

16.png

RxJavaCallAdapterFactory设计模式和理念(略 等Rxjava后再总结)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容