OKHttp

OKHttp是一个高效的网络库,特点包括连接池、Gzip压缩、响应缓存、拦截器和SPDY协议支持。它使用多种设计模式,如Builder、单例和责任链模式。然而,它需要手动处理主线程和缓存失效问题,调用相对复杂。
摘要由CSDN通过智能技术生成

OKHttp 的特点

1.相较于 Volley,它的最大并发量为 64
2.使用连接池技术,支持 5 个并发的 socket 连接默认 keepAlive 时间为 5 分钟,解决 TCP 握手和挥手 的效率问题,减少握手次数
3.支持 Gzip 压缩,且操作对用户透明,可以通过 header 设置,在发起请求的时候自动加入 header,Accept-Encoding: gzip,而我们的服务器返回的时候 header中有 Content-Encoding: gzip
4.利用响应缓存来避免重复的网络请求
5.很方便的添加拦截器,通常情况下,拦截器用来添加,移除,转换请求和响应的头部信息,比如添加公参等
6.请求失败,自动重连,发生异常时重连,看源码调用 recover 方法重连了一次
7.支持 SPDY 协议(SPDY 是 Google 开发的基于 TCP 的应用层协议,用以最小化网 络延迟,提升网络速度,优化用户的网络使用体验。SPDY 并不是一种用于替代 HTTP 的协议,而是对 HTTP 协议的增强。新协议的功能包括数据流的多路复用、 请求优先级以及 HTTP 报头压缩。谷歌表示,引入 SPDY 协议后,在实验室测试 中页面加载速度比原先快 64%)
8.使用 Okio 来简化数据的访问与存储,提高性能

OkHttp 的缺点

1.消息回来需要切到主线程,主线程要自己去写。
2.调用比较复杂,需要自己进行封装。
3.缓存失效:网络请求时一般都会获取手机的一些硬件或网络信息,比如使用的 网络环境。同时为了信息传输的安全性,可能还会对请求进行加密。在这些情况 下 OkHttp 的缓存系统就会失效了,导致用户在无网络情况下不能访问缓存。

OkHttp 框架中用到了哪些设计模式

1.最明显的 Builder 设计模式,如构建对象 OkHttpClient,还有单例模式
2.工厂方法模式,如源码中的接口 Call
3.观察者模式,如 EventListener,监听请求和响应
4.策略模式
5.责任链模式,如拦截器

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值