前言随着移动互联网的发展,用户对产品的使用体验要求越来越高 。H5作为业务的重要载体,在移动端的应用非常广泛,因此H5页面性能是一个非常核心的用户体验指标 。
本文结合【饿了么首屏优化实践】为大家介绍页面性能优化的思路 。
文章插图
性能提升80%!详解饿了么H5性能优化秘诀
首屏性能指标性能优化的首要基础是数据和指标 。没有正确的数据和指标指引,优化思路和方向可能是偏差的 。
UC在首屏性能指标的统计上,支持内核指标和标准的W3C标准指标 。
内核指标
文章插图
性能提升80%!详解饿了么H5性能优化秘诀
- start:blink内核开始创建请求的时间点, 可以理解为 “0”点
- T0:blink收到http head的时间
- T1:首屏有内容显示的时间
- T2:首屏全部显示出来的时间
通常的做法是,domContentLoadedEventEnd - fetchStart,甚至使用 loadEventStart-fetchStart ,此时页面DOM树已经解析完成并且显示内容 。以下给出统计页面性能指标的方法 。
文章插图
性能提升80%!详解饿了么H5性能优化秘诀
性能监控线上监控对于数据摸底和发现问题意义重大,一般在测试阶段我们只能做到基本的分析,很难获得在不同环境下真实准确的数据,那怎么知道上线后性能是否有问题,或者怎么在出现问题苗头的时候,尽快的掐灭呢?实时线上监控是最优的选择 。
岳鹰全景监控平台,可以将SDK采集上报的数据进行实时分析,可以很直观很方便的查看应用的性能指标 。并且还能通过设置告警规则,当性能指标达到阈值的时候,及时通知,第一时间发现问题,及时处理 。
实时大盘通过实时大盘,初步了解性能波动情况 。
文章插图
性能提升80%!详解饿了么H5性能优化秘诀
查看性能趋势查看页面性能情况,通过核心指标,如首字节、DOM Ready、页面完全加载等分析首屏性能、页面加载性能 。(如果对接了UC内核,可直观的通过T2了解首屏性能)
文章插图
性能提升80%!详解饿了么H5性能优化秘诀
分析定位到具体页面进一步分析,了解TOP访问页面的性能情况
文章插图
性能提升80%!详解饿了么H5性能优化秘诀
通过多维度聚合分析,更进一步定位到问题范围
文章插图
性能提升80%!详解饿了么H5性能优化秘诀
详情分析
文章插图
性能提升80%!详解饿了么H5性能优化秘诀
性能优化思路通过线上数据进行摸底分析之后,可以继续进行深入分析和优化 。
1 优化方向前端:前端围绕着优化首屏,收敛域名,js资源治理,js耗时治理,图片治理,接口治理等方向展开 。
客户端:客户端围绕着提升容器启动速度,优化拦截逻辑,为前端提供预加载等各种能力,提供类原生体验等方向展开 。
【干货预警】下面是我们在饿了么端H5优化专项中,整体的优化思路 。
文章插图
性能提升80%!详解饿了么H5性能优化秘诀
H5资源和数据都依赖于网络,所以优化中的一大策略就是预加载 。我们先来了解一下H5场景中,有哪些常见的缓存 。
- HttpCache:通过一定规则让网络回来的资源缓存在本地,下次使用的时候可以直接从本地读取 。stale-while-revalidate可以允许资源在过期之后,在一段时间内可以继续使用,同时发起一个异步请求,可以允许资源先使用,再验证 。
- LocalStorage:前端可以使用LocalStorage将资源存储在本地,类似的还有IndexedDB 。LocalStorage也有一些限制,比如一个域名只能存储5M数据,不能跨域读取 。
- MemoryCache:内存缓存,Chrome中的MemoryCache主要由GC管理,资源进入MemoryCache的时候会关联一个弱引用,在主文档关闭的时候会被清除 。
推荐阅读
- 淘宝店铺好评率如何快速提升 新开的淘宝店铺怎样提高点击率
- vivo|vivo X80跑分出炉:确认搭载天玑9000、12GB内存
- 招聘|下周报名!2022四川省属事业单位招聘近800人,研究生岗占51%
- 淘宝网店怎么才有流量 如何提升网店的流量
- 怎么提升Linux性能,看完这篇文章,彻底掌握"平均负载"
- 美容|有一种瘦叫做女明星!体重80斤的周冬雨,在路人镜头下是真不好看
- 大滇号制茶方法,2015年大滇号春茶之801批四星景迈生态
- 点评2021款天梭绅士系列Gentleman Powermatic 80腕表
- 400W、600W、800W电动车,最快能跑多少码?终于知道哪个更省电了
- 社保缴费基数3800是什么档次?