android加载h5速度慢的解决方案,WebView优化提高H5加载速度方案

本文探讨了WebView加载H5页面慢的问题及其原因,包括WebView初始化、DNS解析、服务器处理请求等阶段的耗时分析。提出了预加载WebView、服务器分块输出、CSS与JS顺序优化、静态资源模板包预加载和差分包更新等优化策略,旨在加速H5页面的加载速度。
摘要由CSDN通过智能技术生成

WebView优化提高H5加载速度方案

WebView加载H5经历的过程图示

30362340ce36567b262cd691faacb2ac.png

上图体现的是用户打开一个H5页面,经历的过程与代码内部所作的事情的对应关系。javascript

用户:无感知(WebView进行初始化)->看到白屏(DNS,Connection,接收页面)->看到Loading界面(静态资源加载完毕后,拉取数据)->展示(数据请求成功)css

再来看一下,一个Url是如何被浏览器加载而且呈现的,以前学习Java web知识的时候,接触到一个页面的加载流程为:html

65c2aea7ac40eb3878ebd47d63d8e36c.png

接下来分析一下各个阶段的耗时状况前端

1."WebView初始化"阶段

众所周知,谈论Android APP的启动时间,咱们喜欢说冷启和热启,那么谈论WebView的初始化时间,咱们也从应用首次初始化和二次初始化,两个方面进行对比。java

使用同一Android机器,对同一个App的活动页,进行20次测试,取平均值,获得的结果以下:git

首次初始化时间

二次初始化时间

192.79 ms

142.53 ms

从上面的测试数据,咱们大概能够找到一个“页面加载老是很慢”的缘由之一:

前端H5开发人员在开发页面时,测算的页面加载速度,是从“页面创建链接后”做为起始时间,“页面数据展现完成”做为结束时间。而这样的话,到手机移动端上,他们须要再加上200ms左右的时间。github

那么如何解决这个问题呢?

这个作法很简单,只要在客户端启动后(或者某个契机点,只要在使用WebView以前),就初始化一个全局WebView,隐藏起来备用,当用户经过WebView访问H5页面时,使用这个全局的WebView来加载对应的网页便可。这种方案能够省去用户感知WebView的初始化这段时间。

缺点:内存消耗,WebView以前使用的痕迹需清除,使用不当容易形成内存泄露。web

2.&#

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值