retrofit2源码及请求流程分析

1.创建Retrofit对象

2.创建Service接口

retrofit.create方法为Service创建动态代理,可以说是Retrofit的核心。

3.创建调用API的Call对象

1.当调用Service中定义的方法时,会调用retrofit.create创建的动态代理,调用Proxy._newProxyInstance_中InvocationHandler的invoke方法,创建流程如下:

4.发起网络请求

请求网络的流程如下:

异步请求和同步类似,这里就不分析了。