HTTP/2 从初探到实际场景的运用
HTTP/2其实出来已经很长时间了,但是一个新的协议,新的标准从出现到大量被采用,总是会经历一个过程。我们的产品最近基于网络请求优化的要求,需要将之前的HTTP/1都升级到支持HTTP/2... »
HTTP/2其实出来已经很长时间了,但是一个新的协议,新的标准从出现到大量被采用,总是会经历一个过程。我们的产品最近基于网络请求优化的要求,需要将之前的HTTP/1都升级到支持HTTP/2... »
最近遇到一个棘手的问题,我们开发的一款App在中东那边出现大量的UnknownHostException, 导致App在中东那边体验很糟,很快这个问题就被抛给了我们技术优化组,我和另外一名同事就开始定位问题的原因并且试图提出一个可行的解决方案。一般理解,出现UnkownHostException就是DNS失败了,在我们开始解决这个问题的时候,App的网络库已逐渐开始使用OkHttp,我们想到自定义DNS过程,在系统DNS失败的情况下再尝试其他DNS方式,降低UnknownHostException出现的频率,优化App网络连通性。 为了实现我们的技术方案,我们针对OkHttp的DNS做了如下几件事:
OkHttpClient.Builder builder = new OkHttpClient.Builder() // 实现OKHttp DNS接口, 改变默认的DNS行为 .dns(OkHttpDns.getInstance())
上面的OkHttpDns须实现Dns接口
目前我们的设计是使用责任链模式实现四层DNS的lookup:
... »三星要在近期发布折叠屏手机,消息一出,我们就得抓紧做适配,也没有什么现成的经验作参考,尤其令人头疼的是还没有真机供我们测试。没办法,兵来将挡,水来土掩,进过一周多的调研和开发,终于做完了大... »
最近刚换工作,来这家新公司没几天,还在熟悉和适应阶段,leader也没安排什么特别的事情,只是说有空可以看看我们工程Gradle Build速度慢的问题。总算接到一个方向比较明确的任务,正... »
今天这篇文章不做具体技术细节的探讨,而是来观察诸多移动应用中反复出现,具有典型特征和重要作用的一些页面来一窥一般移动应用的基本结构。这些反复出现的页面原型可以归纳为如下六类:
<... »