android性能优化(三)之Webview优化

本文探讨了WebView性能优化的重要性,分析了WebView加载慢的原因,包括初始化、资源下载等阶段,并提出了提前初始化WebView、本地资源预置、并行数据拉取等优化策略,旨在提升用户交互体验和页面加载速度。
摘要由CSDN通过智能技术生成

阅读本文大概需要 4 分钟。

 

这篇把Webview的优化单独拎出来,是因为Webview与其他普通view来说有自身独特的特点。

 

在做一些native+H5应用开发时,Webview的性能问题一直是关注的重点。所谓Webview性能问题,就是从打开Webview页面开始到可以和用户交互,这期间花费的时间相对于原生页面来说过长,从直观上来讲,用户等待的时间变长了!

 

而用户的耐心是有限的,如果几秒钟之内页面仍是白屏,很有可能就会关闭此页面,那么页面功能再酷炫,再强大也没用。而通常情况下,公司的活动页往往都用H5来实现,因此如果页面展现速度过慢的话,还会造成公司损失。

 

因此,做好Webview优化是很有必要的。

 

一. 分析

 

为什么拥有Webview的H5页面打开这么慢,是因为它通常会经历以下几个阶段:

 

1)Webview初始化。

2)到达新的页面,网络连接,从服务器下载html,css,js,页面白屏。

3)页面基本框架出现,js请求页面数据,页面处于loading状态。

4)出现所需的数据,完成整个页面的渲染,用户可交互。

 

可以用下面这张图来表示:

很明显,相对于原生应用只需要从后台拉取数据进行渲染来说,Webview多了初始化,拉取整个页面资源这2个步骤,而且他们的顺序是串行的。

 

即必须在完成初始化后才能开始建立网络连接(因为Webview相当于浏览器客户端,我们在PC上也是必须先打开chrome浏览器才能再输入网址打开页面),拉取html,css,js等资源,而只有拉取到js之后,js才能发起ajax网络请求,获取需要展现的动态数据。

 

而初始化,建立网络连接,拉取数据恰恰都是比较耗时的操作,这就是为什么我们从直观上来讲感觉速度太慢的原因。

 

知道了原因后,我们就可以针对各个阶段来逐个

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值