QQ音乐Android客户端Web页面通用性能优化实践

QQ音乐 Android 客户端的 Web 页面日均 PV 达到千万量级,然而页面的打开耗时与 Native 页面相距甚远,需要系统性优化。本文将介绍 QQ 音乐 Android 客户端在进行 Web 页面通用性能优化过程中的问题、思路、方案和效果,并尝试对跨端场景的常见瓶颈和对策进行归纳。文章作者:关岳,QQ音乐客户端开发工程师。

一、问题与目标

作为一款注重于内容运营的应用程序,QQ 音乐 Android 客户端的 Web 页面日均 PV 达到千万量级,评论页、MV 页等核心页面均有 Web 页面参与,或完全由 Web 实现。

客户端内 Web 页面的打开耗时与 Native 页面相距甚远,需要系统性优化。然而,现有的前端和跨端优化方案,存在一定局限性。

1. 前端优化的局限

针对 Web 页面的耗时优化,在优化思路、方案、服务、工具链等方面都已经建设得非常详细。然而,在客户端内 Web 页面这一场景,纯前端优化存在以下两个局限:

  • 无法规避 WebView 初始化耗时
  • 受限于 WebView 生命周期范围

从客户端角度,除了思考优化 WebView 初始化耗时之外,还可以从 “扩展前端生命周期” 的角度出发,思考优化方案。

2. 跨端优化的局限

现有跨端优化方案,包括离线包、VasSonic 等,为了达到最好的优化效果,均需要前端终端共同参与改造。这导致存量页面的逻辑改造增加,对线上页面不够友好,引入额外的成本和风险。在前端开发资源不足时,这些优化的开展存在一定难度。

从减少前端开发工作量的角度来看,需要思考更具通用性、前端感知更小的优化方案。

3. 目标

基于本次优化的背景,本次优化提出以下两方面的目标:增强通用性、减少前端改造成本

二、指标设计

在展开优化思路和实施的同时,需要建立衡量优化效果的性能指标。

1. 客户端现有性能指标数据

接下来基于客户端内 Web 页面加载过程,描述客户端现有性能指标代表的时机。

(1)客户端 WebView 回调

基于 Android WebView 的过程监控

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Web H5页面性能优化可以从以下几个方面入手: 1. 减少HTTP请求数量:减少页面中的HTTP请求可以显著提高性能。可以通过合并CSS、JS文件、压缩图片等方式,减少HTTP请求数量。 2. 压缩文件大小:减小HTML、CSS和JS文件的大小可以减少加载时间,提高性能。可以使用压缩工具压缩这些文件,减小文件大小。 3. 使用缓存:将静态资源(例如图片、CSS和JS等)缓存在本地,可以大幅度减少HTTP请求。可以通过设置HTTP响应头中的缓存策略,让客户端缓存这些静态资源。 4. 优化图片:将图片压缩到合理的大小,并使用适当的图片格式,可以减少图片的加载时间。例如使用JPEG格式来存储照片,使用PNG格式来存储图形。 5. 使用CDN:使用CDN可以加速页面的加载速度。CDN会将静态资源缓存在全球各地的服务器上,当用户请求这些资源时,可以从离用户最近的服务器获取。 6. 延迟加载:将不必要的资源(例如图片、视频等)延迟加载,可以减少页面的加载时间。可以使用LazyLoad等工具来实现延迟加载。 7. 减少DOM操作:减少DOM操作可以减少页面的重绘和回流,提高性能。可以将多次DOM操作合并为一次操作,使用事件委托等方式来减少DOM操作。 总之,Web H5页面性能优化需要从多个方面入手,通过以上的方法可以使页面加载速度更快,提高用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值