
okHttp源码解析
文章平均质量分 57
songcream1
你好,生活
展开
-
OkHttp RouteSelector代理解析
OkHttp RouteSelector代理解析原创 2022-02-21 20:36:21 · 691 阅读 · 0 评论 -
拦截器ConnectInterceptor
ConnectInterceptor拦截器 ConnectInterceptor拦截器的主要功能是复用连接池里面的连接,创建新的连接,并把读写数据流的对象交由下一个拦截器处理。 我们先来看下okhttp几个关键类之间的关系。 可以看到OkHttp很多功能类比方代理管理、cookie管理等都是通过构造方式设置进来的,它们的实现方式交由开发者自定义,这样做既能满足高度的自定义性又能使每个类功能职责明确,提供良好的维护性。 StreamAllocation streamAllocation对象承担了连接的大部分原创 2022-02-21 20:23:10 · 484 阅读 · 0 评论 -
拦截器CacheInterceptor
CacheInterceptor拦截器 在说第三个拦截器缓存拦截器之前,我们先了解下http协议的缓存机制是怎么样的 缓存规则分为强制缓存和对比缓存两种。 http把对于缓存的控制规则都放在头部的几个字段里了。 Cache-Control Cache-Control常见的取值有private、public、no-cache、max-age,no-store,默认为private private: 客户端可以缓存 public: 客户端和代理服务器都可缓存 max-age:原创 2022-02-08 20:17:28 · 416 阅读 · 0 评论 -
拦截器BridgeInterceptor分析
BridgeInterceptor拦截器 在第一个拦截器retryAndFollowUpInterceptor里会调用chain.proceed,拦截链的proceed会继续调用下一个拦截器的intercept方法,也就是BridgeInterceptor,该拦截器的主要作用:检测请求头是否包含http默认的请求头,没有则补全;cookie补全;对响应进行Gzip数据流处理。 这个拦截器功能比较简单: @Override public Response intercept(Chain chain) thro原创 2022-02-08 15:05:56 · 211 阅读 · 0 评论 -
拦截器RetryAndFollowUpInterceptor分析
RetryAndFollowUpInterceptor拦截器 前面已经分析,okHttp的线程池里的请求任务的execute方法会构造拦截器链,然后通过index++依次调用chain.proceed方法来调用各种拦截器,不考虑用户自定义的拦截器的话, ...原创 2022-02-08 12:09:27 · 429 阅读 · 0 评论 -
源码分析okHttp基本工作流程
okHttp基本用法 关于okHttp基本的用法,这里简单提一下吧。 okHttp可以使用同步请求和异步请求两种方式,当然同步请求不能在UI线程里面做,这样会导致app崩溃。 同步请求 //构造OkHttpClient final OkHttpClient client=new OkHttpClient.Builder().build(); //构造请求体 final Request request=new Request.Builder().url("www.baidu.com").build(); ne原创 2022-02-05 23:56:06 · 2177 阅读 · 0 评论