okhttp3.11.0 源码分析-整体流程
一、 这是执行过程中主要的类,之间存在调用关系。把这个几个类的源码搞清楚了就差不多了。后面会在其余文章中根据这些类作相应的分析。
1、OkHttpClient 1、Internal 2、Builder 1、Dispatcher 2、EventListener 3、ConnectionPool 1、RouteDatabase 3、Util 4、PlatForm 1、BasicTrustRootIndex 5、CertificateChainCleaner 6、CertificatePinner 7、Request 1、Headers 1、Builder 2、HttpUrl 8、RealCall 1、RetryAndFollowUpInterceptor 1、StreamAllocation 1、RouteSelector 2、Address 3、Response 2、EventListener 3、BridgeInterceptor 4、CacheInterceptor 5、ConnectInterceptor 6、CallServerInterceptor 7、RealInterceptorChain二、使用方式
1、构造OkHttpClient
OkHttpClient client = new OkHttpClient();2、构造Request
Request request = new Request.Builder() .url(url) .build();3、同步请求
Response response = client.newCall(request).execute()4、异步请求
client.newCall(request).enqueue(callback);三、 通过一张总的流程图即可以对流程有清晰的认识
okhttp3.0流程图.png
- OkHttpClient 通过 newCall() 为Request 创立 Call
- RealCall 是 Call 的具体实现,分别进行同步或者者异步的解决,同步的话直接执行,异步的话通过Dispacher 进行解决。
- 最终通过getResponseWithInterceptorChain() 调用 RealInterceptorChain 中的process() 返回 Response
总结
- 所有涉及的关键类
- 使用方式
- 通过流程图理解实现过程
假如对你有一点点帮助,那是值得高兴的事。:)
我的csdn:http://blog.csdn.net/shenshizhong
我的简书:http://www.songma.com/u/345daf0211ad
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » okhttp3.11.0 源码分析-整体流程
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » okhttp3.11.0 源码分析-整体流程