页面启动耗时分析
背景
在移动应用开发中,用户体验(User Experience, UX)是一个至关重要的因素。随着智能手机硬件性能的提升和用户需求的不断增加,用户对应用的响应速度和流畅度有了更高的期望。特别是在移动端应用中,页面启动时间是用户体验的一个关键指标。页面启动时间过长会导致用户感到不耐烦,甚至可能导致用户流失。
Bugly的页面启动耗时默认会监控Activity的冷启动耗时,耗时信息也分为两类:页面渲染耗时和页面加载耗时:
- 页面渲染耗时:从Activity的onCreate调用到第一帧画面渲染完成的时间;
- 页面加载耗时:其值默认与页面渲染耗时相同,但用户可以通过 reportLaunchFinished 接口来自定义Activity的加载结束时间;
开启方式
页面启动耗时分析是新增功能,Bugly SDK 需要升级到 4.4.3 之后的版本才支持:
- 配置项
sample_ratio: 控制用户采样率,即多少设备会开启这个功能,1 代表所有设备开启, 0 代表所有设备都不开。
- 客户端 在调用 Bugly.init 接口之前,添加如下代码:
...
buglyBuilder.addMonitor(BuglyMonitorName.PAGE_LAUNCH); // 添加此语句
...
Bugly.init(context, builder);
日志说明
1、功能开启成功的日志:
10-04 10:xx:xx.xxx 14546 1819 D PageLaunchPlugin: start page launch monitor
2、功能关闭成功的日志:
10-04 10:xx:xx.xxx 14546 1819 D PageLaunchPlugin: stop page launch monitor
3、上报日志,在退后台之后,会上报记录的所有Activity冷启动耗时数据
10-22 10:11:44.465 15996 16178 V RMonitor_report_Json: url: https://xxx.qq.com/v1/xxxx/upload-json?timestamp=1720059647340&nonce=xxxxxxxx eventName: page_launch, client_identify: f55e3c66c53520933d0b8c8687da6398
功能使用说明
页面打开耗时的页面主要分为 ”指标概览“ 和 ”span耗时“ 这两部分,在指标概览部分,我们可以了解到如下的指标信息:
- 页面渲染耗时的平均值和分位值;
- 页面加载耗时的平均值和分位值;
- 秒开率:页面渲染耗时小于1秒的占比;
- 慢开率:页面渲染耗时大于3秒的占比;
- 跳出率:页面启动过程中没等渲染完就退出页面的占比(可以用来统计打开页面后一直白屏,然后用户就选择退出页面的概率);
另外我们也提供很多的筛选项,例如只想看natmem页面的指标数据,那么直接在筛选框过滤就好了: