1.OkHttp简介:
Okhttp与HttpClient、HttpUrlConnection以及Volley类似是一个网络请求框架,支持连接同一地址的链接共享同一个socket,提供了对 HTTP/2和SPDY以及https协议的支持,通过连接池来减小响应延迟,还有透明的GZIP压缩,请求缓存等优势。
2.Okhttp的优点和功能
- 支持HTTP2/SPDY(SPDY是Google开发的基于TCP的传输层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验)。
- socket自动选择最好路线,并支持自动重连,拥有自动维护的socket连接池,减少握手次数,减少请求延迟,共享socket减少对服务器的请求次数。
- 支持Headers的缓存策略减少重复的网络请求。
- 拥有Interceptors轻松处理请求与响应并自动处理GZip数据压缩。
- 支持大文件的上传和下载。
- 支持cookie持久化。
- 支持自签名的https链接,配置有效证书即可。
3.okhttp的基本使用
4.源码流程分析
总体流程:通过OkHttpClient将构建的Request转换为Call对象,然后在RealCall中进行异步或同步任务,最后通过一些的拦截器interceptor发出网络请求和得到返回的response。(如下在别处盗来的图)
- 创建OkHttpClient对象
我们看一下builder里面的参数:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。