Android:浅谈app加载H5
引子
顾名思义,H5也就是HTML5。它的开发效率高,一套代码Android和IOS基本上都可以使用,同时呢只需要在每次更新时在服务端进行升级即可,大大的节约了成本和时间。那么这么方便的开发手段,在Android中表现如何呢?我们一起来探讨一下。
背景介绍
现如今的生活节奏越来越快,电子产品更是首当其冲。随着互联网时代的发展,特别是5g时代的到来,再加上各个品牌手机性能的提升,混合开发更加受到很多互联网公司的青睐,其中最原始,最便捷,最轻量级的采用WebView调用H5页面尤为夺目。但是这一技术并非没有弊端,许多app都嵌入了H5页面,但是WebView的加载速度实在不敢恭维,这也就了导致用户体验不好。
问题分析
为何WebView会一直遭人诟病呢?
首先我们应该先分析其为何这么慢,弄明白究竟是哪个环节出了问题。
Android是怎么将完整H5页面展示给用户的呢?
通过上图(精简版)我们可以看出,移动端加载H5需要很多个阶段:
-
WebView无响应阶段
WebView无响应阶段,可以大致认为是其是否被初始化,而个人认为,这一阶段也过于耗时了
-
白屏阶段
这一阶段也就是浏览器与服务器间开始建立连接申请html/css/js以及页面渲染相关的资源
-
加载阶段
加载阶段也就是便加载便渲染的过程
而导致加载速度慢,只要的原因有:
- 页面资源(html/css/js)的下载耗时
- WebView从首次创建到初始化这一过程耗时
- js的解析以及对页面的渲染耗时
那我们可以对这些原因进行深入的分析。看看哪些环节是可以优化的。其实我们思考是否可以对页面资源本地化以及对WebView进行缓存,从而解决加载相关资源以及首次创建Webview十分缓慢造成的结果,那么我们就来看看如何解决。