【第六期】应用启动时延介绍及AppAnalyzer检测时延
应用启动时延是影响用户体验的关键要素,是指从用户点击桌面应用图标、通知或其他入口启动应用,到应用界面内容成功加载并显示在屏幕上的时间间隔。

本原创文章帖发布在华为开发者联盟社区,欢迎开发者前往访问评论交流,更多与该内容相关讨论,请点击原帖查看:
【第六期】应用启动时延介绍及AppAnalyzer检测时延-华为开发者话题 | 华为开发者联盟
应用启动时延是影响用户体验的关键要素,是指从用户点击桌面应用图标、通知或其他入口启动应用,到应用界面内容成功加载并显示在屏幕上的时间间隔。
应用启动可分为冷启动、热启动和温启动三种类型:
• 冷启动是指应用启动时,后台不存在该应用进程,系统需为其创建新进程。完整的冷启动过程,指从用户点击桌面图标开始,至应用首页首帧渲染完成、数据完全展示。
• 热启动是指当应用已在后台运行且进程驻留在内存中时,用户再次打开应用,系统可直接从内存恢复应用状态,无需重新初始化加载资源。
• 温启动是指应用进程存在,但主实例或页面已被销毁。此时启动应用只需重新创建实例或页面,启动速度介于冷启动与热启动之间。
当应用冷启动时延大于1100ms时,可以认为是应用启动缓慢,应该考虑对应用启动流程进行优化。
应用冷启动流程
应用冷启动分为 5 个阶段:应用进程创建&初始化、Application&Ability 初始化、Ability/AbilityStage 生命周期、加载绘制首页、网络数据二次刷新。

1. 应用进程创建和初始化阶段:此阶段系统完成应用进程的创建和初始化,包括启动页图标(startWindowIcon)的解码。
2. Application和Ability初始化:该阶段包括资源加载、虚拟机创建、Application和Ability对象的创建与初始化、依赖模块加载等。
3. Ability/AbilityStage 生命周期:此阶段主要涉及 AbilityStage/Ability 的启动,执行相应的生命周期回调。
4. 加载首页内容、测量布局,刷新组件并绘制。
5. 网络数据二次刷新:此阶段应用根据业务需求对网络数据进行请求、处理和刷新。
AppAnalyzer工具检测应用冷启动时延
在鸿蒙应用开发中,网络请求时机、图片下载、页面资源加载、依赖模块的加载等,都可能影响应用冷启动时延,合理处理代码逻辑可以提升应用冷启动速度。开发者可以通过AppAnalyzer工具对应用冷启动进行检测,针对诊断出的应用冷启动不达标问题进行分析和优化。
应用冷启动时延检测步骤如下:
1. 选择entry模块,暂时关闭模块build-profile中的混淆开关。

2. 检查 build 模式,改为 release。

3. 点击菜单 -> tool -> AppAnalyzer,打开体检工具。
4. 选择“场景化体检”,点击“手动性能冷启动体检”。

工具开始准备,会自动编译、安装、运行当前工程,此时需要“保持手机解锁状态”,当准备完成后,会提示点击开始按钮,开始体检。
5. 根据提示在设备上进行手动操作:
1) 首先,在最近任务列表关闭应用。
2) 进入手机设置 ,在顶部搜索栏中输入应用名,点击进入应用设置界面。如果该应用还有进程存活,在应用设置界面可以点击强行停止按钮。
3) 在桌面点击应用图标重新启动应用。
4) 点击“结束”按钮停止体检任务,体检工具会将刚才的操作数据进行解析。

通过本文你已经学会了冷启动时延的一些基础概念,以及如何利用 AppAnalyzer 工具对应用启动场景进行简单检测。下一章节我们将带你了解一些经典启动时延类型问题。
—————————————————————————————————–
🔗 官网开发者学堂视频:https://developer.huawei.com/consumer/cn/training/result?type2List=201783644516849879&orderBy=1&courseType=5

🔗 社区DFX专题文章: https://developer.huawei.com/consumer/cn/forum/subject/2101218731402391001


【扫码加入 HarmonyOS DFX 技术交流群】
本文由 @华为开发者联盟 授权发布于人人都是产品经理。未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务
- 目前还没评论,等你发挥!

起点课堂会员权益



