OkHttpClient
实现Call.Factory
,负责为Request
创建Call
;RealCall
为具体的Call
实现,其enqueue()
异步接口通过Dispatcher
利用ExecutorService
实现,而最终进行网络请求时和同步execute()
接口一致,都是通过getResponseWithInterceptorChain()
函数实现;getResponseWithInterceptorChain()
中利用Interceptor
链条,分层实现缓存、透明压缩、网络 IO 等功能;