美文网首页
Retrofit执行流程及源码解析

Retrofit执行流程及源码解析

作者: 崽子猪 | 来源:发表于2019-05-28 15:58 被阅读0次

Retrofit网络请求本质是OkHttp完成的,它仅仅是对网络请求接口的封装.Retrofit最外层通过建造者模式进行封装,内部封装了网络请求适配器工厂,数据解析工厂,rxjava解析工厂,Okclient等对象.网络请求执行器OkHttpCall默认通过handler来进行线程的切换,通过handler来进行线程的切换.通过手动设置rxjava解析工厂,使用rxjava Scheduler进行现成的切换.

首先网络请求工厂生成OkCall对象,对使用平台进行确认,然后根据传入的请求路径,将String类型的URL转为适合Ok请求的HtttpUrl类型的URL.Gson转化工厂底层创建gson对象,并携带对象加入到转换工厂数组converterFactories数组,等待分配任务进行对象转换.

接口创建采用了外观模式和代理模式.首先通过外观设计模式create()方法获取封装好的请求对象,通过动态代理获取到OK的网络请求对象,通过策略模式来决定使用handler还是Rxjava进行线程切换,OkHttpCall在发送请求时会进行线程的切换,所以采用了装饰模式,请求分别为同步和异步.根据Ok提供的线程分发器和拦截器进行请求.

相关文章

网友评论

      本文标题:Retrofit执行流程及源码解析

      本文链接:https://www.haomeiwen.com/subject/njydtctx.html