1

1.OkHttp简介:

Okhttp与HttpClient、HttpUrlConnection以及Volley类似是一个网络请求框架,支持连接同一地址的链接共享同一个socket,提供了对 HTTP/2和SPDY以及https协议的支持,通过连接池来减小响应延迟,还有透明的GZIP压缩,请求缓存等优势。

2.Okhttp的优点和功能

  1. 支持HTTP2/SPDY(SPDY是Google开发的基于TCP的传输层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验)。
  2. socket自动选择最好路线,并支持自动重连,拥有自动维护的socket连接池,减少握手次数,减少请求延迟,共享socket减少对服务器的请求次数。
  3. 支持Headers的缓存策略减少重复的网络请求。
  4. 拥有Interceptors轻松处理请求与响应并自动处理GZip数据压缩。
  5. 支持大文件的上传和下载。
  6. 支持cookie持久化。
  7. 支持自签名的https链接,配置有效证书即可。

3.okhttp的基本使用
图片描述

4.源码流程分析
总体流程:通过OkHttpClient将构建的Request转换为Call对象,然后在RealCall中进行异步或同步任务,最后通过一些的拦截器interceptor发出网络请求和得到返回的response。(如下在别处盗来的图)图片描述

  1. 创建OkHttpClient对象图片描述
    我们看一下builder里面的参数:

诸葛小花
0 声望0 粉丝

Android,Java后端,喜欢文史酷爱武侠小说