美文网首页
Okhttp 终章

Okhttp 终章

作者: David_zhou | 来源:发表于2020-06-01 10:30 被阅读0次

终章

学习Okhttp的本意是通过这个框架去学习网络相关的知识,但学习过程中发现这个方向是错的。不知道原理,就不会知道为什么,知道调用流程并没有用处。所以应该是先学习网络相关的知识,然后再去看框架。对框架不要抠细节,而是重视设计模式,编程思想之类的。所以先暂停okhttp框架的学习。

学习

1 使用-同步

Call call=new Call(request);
Response response=call.execute();
发送请求后,会进入阻塞状态,直到收到响应。

2 使用-异步

Call call=new Call(request);
call.enqueue(new callback{})

不会阻塞,接口回调结果,callback的onresponse和onfailure都是在新的线程,即工作线程中运行。
3 dispatch 运行在主线程,作用是维护请求的状态,并维护一个线程池,用户执行请求。
4 builder 模式封装创建时使用的参数。
5 对于异步请求,使用两个队列(一个队列保存正在执行中的请求,一个队列保存等待执行的请求)和一个线程池来维护。disptach作为生产者,线程池作为消费者。
6 拦截器的通用流程:

a,发起请求前对request进行处理;
b,调用下一个拦截器获取response;
c,对response进行处理,返回给上一个拦截器。

7 RetryAndFollowUpInterceptor的流程,主要作用是重试

1 创建StreamAllocation
2 调用RealInterceptorChain的proceed进行网络请求
3 根据响应结果或异常结果判断是否需要重连
4 调用下一个拦截器对response进行出来,返回给上一个拦截器

8 RetryAndFollowUpInterceptor的作用是设置内容长度,编码方式,压缩等,添加头部信息,GizpSource

1 将用户构建好的request 转化为能够进行网络请求的request。
2 将转化后的request进行网络请求
3 将网络返回的response转化为用户可以用的response。

9 ConnectInterceptor的作用是真正发起网络请求。使用httpCodeC 来编码request,解码Response.ConnectInterceptor的流程如下:

1 弄一个RealConnection对象
2 选择不同的连接方式
3 调用CallServerInterceptor

10 CallServerInterceptor读写网络数据
11 ConnectPool 提高复用,统一管理。
12 okhttp的核心

1 call 对象,是对请求的封装
2 dispatcher 是对请求的分发
3 调用getResponseWithInterceptorChain进行链式调用。

相关文章

  • Okhttp 终章

    终章 学习Okhttp的本意是通过这个框架去学习网络相关的知识,但学习过程中发现这个方向是错的。不知道原理,就不会...

  • OKHttp源码解析(二)

    上一章中我们讲了OKHttp的基本用法,这章我们看下OKHttp的新建对象OkHttpClient的建立过程。 我...

  • 《okhttp文档翻译第二篇:常用方法解析》

    关于对okhttp的介绍请看第一章,本文来自对okhttp中wiki的介绍, 2、okhttp的常用场景介绍 2....

  • Okhttp3源码分析(2) Dispatcher分发器

    okhttp3源码分析基于okhttp3.10.0。 在上一章节中提到在RealCall请求方法中,不管是同步请求...

  • 小说搜索站快速搭建:2.内容页解析

    三方框架 1. JSOUP 2. okhttp 解析要素 1. 翻章:上一章 2. 翻章:下一章 ...

  • 知否

    ——终章 ...

  • okhttp6

    okhttp分享六:ConnectInterceptor(2) 前一章我们已经介绍了路由、连接、请求流等,这一章我...

  • OKHttp源码分析(五)

    上一章我们讲到了责任链模式,也就是OkHttp的核心思想,本章将继续讲OkHttp是收到返回值之后的处理。 可以看...

  • 资源

    okHttp的使用: OkHttp使用完全教程OkHttp官方教程解析-彻底入门OkHttp使用 okHttp的源...

  • 6.1开源框架-okhttp网络框架-详解

    okhttp网络框架 OkHttp使用简介 OkHttp源码剖析 1.OkHttp使用简介 创建客户端Okhttp...

网友评论

      本文标题:Okhttp 终章

      本文链接:https://www.haomeiwen.com/subject/hajjzhtx.html