总结自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