Volley原理和Okhttp原理

1 Volley原理和Okhttp原理:
*Volley源码分析:
请求队列 初始化    磁盘缓存目录  5M  》=9 HttpUrlConnection
《HttpClient(比较庞大,不适合) 线程池 4  hendler.post
分发器(绑定主线程)
  启动队列   缓存分发器  死循环 请求 
缓存请求队列  网络请求队列
缓存头  集合   key有  再去查数据 
创建4个网络线程   启动
发动请求:add  分发器死循环  拿到key  查找  缓存
没有 网络请求 存入缓存 结果分发给主线程
后台开发 设置缓存时间
2 okhttp 源码分析:
同步请求  异步请求  接口不一样  最终走到Call里卖面
异步默认最多64个请求 
拦截器机制:重写请求头、请求体  响应头和响应体
HTTP 协议的瓶颈在于它需要靠很多链接来处理并发。
Okhttp 内部实现是基于 SPDY 协议。
SPDY协议 Google 官方提出的应用层协议(基于 TCP ),通过压缩、多路复用和优先级来缩短加载时间。(speedy的缩写)
·          多路复用请求:共享同一个Socket来处理同一个服务器的所有请求。
·          请求优先级:客户端能请求某个资源被优先传输。这避免了高优先级请求被非关键资源堵塞网络通道的问题。
·          头部压缩:客户端现在发送了大量冗余的 HTTP 头部信息。因为一个页面可能有 50 100 个子请求,这些数据是巨大的。通过头部压缩,省流量。
·          服务端推送流:服务端能向客户端推送数据不需要客户端发起一个请求。
更高效的使用HTTP 可以让我们的应用运行更快、更节省流量。而OkHttp就是为此而生。
对比http协议和SPDY协议:
1.     单路连接 请求低效(先进先出,如果中间阻塞,就要等)------ 多路复用,请求优化(可设置优先级)
2.   HTTP 只允许由客户端主动发起请求---- 服务端推送流
3.   HTTP 头冗余-------- 头部压缩
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值