1、okhttp工作的大致流程
2、okhttp中的连接
3、Dispatcher和线程池
4、OkHttp中的设计模式
5、OkHttp的优势
1、okhttp工作的大致流程
1.1、整体流程
(1)、当我们通过OkhttpClient创建一个Call,并发起同步或异步请求时;
(2)、okhttp会通过Dispatcher对我们所有的RealCall(Call的具体实现类)进行统一管理,并通过execute()及enqueue()方法对同步或异步请求进行处理;
(3)、execute()及enqueue()这两个方法会最终调用RealCall中的getResponseWithInterceptorChain()方法,从拦截器链中获取返回结果;
(4)、拦截器链中,依次通过RetryAndFollowUpInterceptor(重定向拦截器)、BridgeInterceptor(桥接拦截器)、CacheInterceptor(缓存拦截器)、ConnectInterceptor(连接拦截器)、CallServerInterceptor(网络拦截器)对请求依次处理,与服务的建立连接后,获取返回数据,再经过上述拦截器依次处理后,最后将结果返回给调用方。 提供两张图便于理解和记忆:


1.2、各大拦截器的原理解析
1.2.1、RetryAndFollowUpInterceptor:负责重定向
构建一个StreamAllocation对象,然后调用下一个拦截器获取结果,从返回结果中获取重定向的re
OkHttp工作原理与拦截器解析

本文详细介绍了OkHttp的工作流程,包括拦截器的解析,如RetryAndFollowUpInterceptor的重定向处理、BridgeInterceptor的请求与响应转换、CacheInterceptor的缓存策略以及ConnectInterceptor的连接建立。此外,还讲解了连接池的原理和Dispatcher的线程管理,最后讨论了OkHttp的设计模式和优势。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



