资讯专栏INFORMATION COLUMN

解剖okhttp

mudiyouyou / 2166人阅读

摘要:自动选择最好路线并支持自动重连拥有自动维护的连接池,减少握手次数,减少请求延迟,共享减少对服务器的请求次数。支持的缓存策略减少重复的网络请求。拥有轻松处理请求与响应并自动处理数据压缩。支持自签名的链接,配置有效证书即可。

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里面的参数:

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/77530.html

相关文章

  • Android livedata 源码解剖

    摘要:方法中,,当为,并且不等于上一次的值,会增加的计数。锁住当前没有人在处理任务处理完毕之后将置为首先,采用同步机制,通过有没有人在处理任务。说在前面 本次推出 Android Architecture Components 系列文章,目前写好了四篇,主要是关于 lifecycle,livedata 的使用和源码分析,其余的 Navigation, Paging library,Room,Wo...

    GHOST_349178 评论0 收藏0
  • 解剖排序算法

    摘要:前言排序是计算机中对存储的数据执行最常见的操作之一。在排序算法中绕不开的是循环,只有在深入学习排序算法时,才发现平时不起眼的循环语句不可小觑。在排序算法中,还有一点需要注意的,那就是数组。 前言 排序是计算机中对存储的数据执行最常见的操作之一。语法简单,却很精妙。在排序算法中绕不开的是循环,只有在深入学习排序算法时,才发现平时不起眼的循环语句不可小觑。 拿最简单的冒泡排序来说,道理我都...

    Jiavan 评论0 收藏0
  • Android lifecyle 源码解剖

    摘要:使用详解使用详解源码解剖源码解剖地址技术人,一位不羁的码农。在中,它默认为我们初始化,作为一个成员变量。在方法中,它会判断我们是否已经添加,没有的话,添加进去。说在前面 本次推出 Android Architecture Components 系列文章,目前写好了四篇,主要是关于 lifecycle,livedata 的使用和源码分析,其余的 Navigation, Paging libr...

    番茄西红柿 评论0 收藏0

发表评论

0条评论

mudiyouyou

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<