前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android OkHttp是如何上位的?

Android OkHttp是如何上位的?

作者头像
陈宇明
发布2020-12-16 09:48:10
4810
发布2020-12-16 09:48:10
举报
文章被收录于专栏:设计模式设计模式
场景:初入职场的小码在开发Android时发现官方推出的HttpURLConnection库没流行多久,就被一个OkHttp的半路截胡迅速统治了Android网络请求库。甚至!Android4.4之后,也是基于OkHttp实现的!小码决定上秋名山找老司机解惑。

老司机!为什么官方的HttpURLConnection4.4 之后也是基于OkHttp实现的。这个OkHttp怎么那么牛?

这陈芝麻烂谷子的事怎么又翻出来了!OkHttp一统天下这么久了都。说起来它可是凭实力上位的甄嬛--网络库界的熹贵妃啊!

哦!小三打败正宫娘娘,这个瓜听着都甜啊!快说说,老司机!

想当年Android最开始的网络请求库用的是HttpClient,怎奈它问题太多。谷歌爸爸就拉出了HttpURLConnection。就像雍正爷用华妃压制皇后一样。

HttpClient在Android 6.0 就彻底领盒饭了就别提它了,快说说OkHttp吧?

你说的这个OkHttp就像后来入宫的嬛嬛,她是大理寺卿Square家的。HttpURLConnection这个皇后吧,也很牛!但没办法,OkHttp更牛!

是吗?我用着老师教的HttpURLConnection很好啊。快说说OkHttp怎么牛了!

OkHttp就像哥一样快!飞快!OkHttp在对数据访问和存储时用的是Okio!极大的提升了I/O速度,而I/O一直是性能瓶颈。

Okio是怎么打破I/O瓶颈的呢?它加了棒子家的970 pro不成?

不只加条固态的事。那也是Square开源的库,实力派!不展开细说了,简单来说就是:融合java.io和java.nio所长提供阻塞和非阻塞I/O,而且对缓存等底层做了优化。

快当然好了,但有文章说它能节省流量?吹牛的吧!同样的Json文件,中国移动那么扣,是少收它的流量?

哈哈!OkHttp不是移动的亲戚,但它确实能节省流量。因为它无缝支持GZIP。这个GZIP本是GNU的文件压缩程序。后来·应用到HTTP协议中改进Web应用程序的性能。

也是GNU出来的铁打的实力派啊!也被应用到了OkHttp中了。就像甄嬛有了槿汐姑姑,那在大前端这个宫里很快就混开了。

我X!还真能省流量。咦,老司机它GitHub上说的支持SPDY,什么鬼啊?

这个嘛,就是利用一个socket的共享来处理同一个服务的所有请求。而且有人对这个谷歌提出的技术有争议,而且Http2完全替代它了。就忘了吧。

这个OkHttp的上位之路真堪比甄嬛传啊!

那是!这位熹贵妃可不只上面这些!作为一个这么普及的网络请求库,除了这些优点外。它还支持同步、异步调用,对发者特别友好;而封装了的线程池技术、数据转换、错误处理也都给它加分不少。

我是真爱上这位嬛嬛一袅楚宫腰的佳人了。不说了,盘她!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码个蛋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档