目录
  1. 1. OkHttp如何实现同步异步请求?
  2. 2. 到底什么是 dispatcher ?
  3. 3. 异步请求为什么需要两个队列?
  4. 4. OkHttp拦截器
重拾Android-【必知必会SDK】之OkHttp3

OkHttp 是一套处理 HTTP 网络请求的开源依赖框架,众所周知 Retrofit + OkHttp 现在几乎已经占据了所有的网络请求操作,已然成为了一种标配。因此这也是每个 Androider 必须要掌握的一项技能,了解其内部原理的实现可以更好的进行功能的扩展与封装,甚至可以自行优化。

OkHttp如何实现同步异步请求?

发送的同步/异步请求都会在dispatcher中管理其状态。

到底什么是 dispatcher ?

dispatcher的作用为维护请求的状态,并维护一个线程池,用于执行请求。

维护一个线程池 和 两个缓存队列(就绪等待缓存的异步请求队列、正在执行的请求队列)

异步请求为什么需要两个队列?

这类似于一个生产者-消费者模型。Dispatcher是生产者,ExecutorService是消费者池

OkHttp拦截器

拦截器是OkHttp中提供的一种强大机制,它可以实现网络监听、请求以及响应重写、请求失败重试等功能。

打赏
  • 微信
  • 支付宝

评论