鸿蒙性能优化:启动速度

性能优化中,启动速度是衡量用户体验的重要指标。DevEco Profiler的Launch场景分析能力,可以录制启动过程中的关键数据,识别导致启动缓慢的原因。
一、功能介绍
1.1 支持的泳道
Launch模板支持的泳道包括:
| 泳道 | 说明 |
|---|---|
| Launch | 启动过程各阶段耗时(本文重点) |
| Frame | 帧率分析 |
| ArkTS Callstack | ArkTS调用栈分析 |
| Callstack | Native调用栈分析 |
| Network Traffic | 网络流量 |
| Network Request | 网络请求 |
| CPU Core | CPU核心调度 |
| Process | 进程分析 |
1.2 启动模式
| 模式 | 说明 |
|---|---|
| 自动启动 | 开始录制时自动重启所选应用 |
| 手动启动 | 开始录制时自动终止应用,需开发者手动启动应用 |
限制:不支持命令拉起的Release应用,不能进行Launch分析。锁屏状态下可进行Launch录制。
二、查看启动过程中各阶段的耗时情况
2.1 基本操作
框选Launch泳道图区域的一个阶段或多个阶段,在下方的Details区域中可查看所选阶段的耗时统计情况。
2.2 任务耗时详情
展开各阶段的统计信息折叠表,可以看到各个任务的具体耗时信息。单击跳转按钮,可直接跳转至相关线程打点任务中。
2.3 Load ETS Files(DevEco Studio 6.0.0 Beta1+)
支持查看冷启动过程中ets文件的加载情况:
| 字段 | 说明 |
|---|---|
| Category | 该ets文件在应用启动过程中是否被使用 |
| Weight | 该ets文件加载子节点文件(不包括自身)的总耗时 |
| Self | 该ets文件自身加载的耗时 |
| Import Count | 该ets文件被其他文件导入的次数 |
| File Name | 该ets文件的名称 |
| Path | 该ets文件构建产物的路径 |
2.4 TOP Redundant
查看冷启动过程中TOP 100冗余ETS加载文件信息。若File Name字段显示为蓝色,双击可快速跳转至对应工程源文件。
注意:已上架应用市场的应用,不支持使用Load ETS Files或TOP Redundant页签查看冷启动过程中ETS文件的加载情况。
三、分析静态资源库加载耗时
3.1 Static Initialization子泳道
展开Launch泳道,其中的Static Initialization子泳道展示启动过程中各静态资源库的加载耗时。
3.2 操作方式
单击单个静态资源库色块,或框选多个静态资源库色块,下方的Details区域展示所选对象的耗时统计信息。
针对耗时超过预期的加载任务,可单击跳转按钮,跳转至相关线程打点任务中进行深度分析。
四、查看核心线程在CPU Core的运行情况
4.1 Running CPU Cores子泳道
展开Launch泳道,其中的Running CPU Cores子泳道展示启动过程中的关键线程具体运行在哪个CPU核心。
4.2 操作方式
单击单个进程色块或框选多个进程色块,下方的Details区域展示所选对象的运行情况统计信息。
单击CPU的跳转按钮,可跳转到CPU Core泳道查看详细的调度信息。
五、查看启动过程相关的线程Trace数据
5.1 关键线程数据
展开Launch泳道,除Static Initialization和Running CPU Cores子泳道外,还包含启动过程的关键线程的状态和Trace数据。
5.2 Details区域统计信息
| 区域 | 说明 |
|---|---|
| Details | 树状统计,显示任务名称、起始时间、耗时信息 |
| Thread States | 线程的状态统计信息 |
| Thread Usage | 线程的使用情况 |
| Slice List | 所选对象的切片统计信息 |
| Load Statistics | 所选对象的中载和重载信息 |
5.3 操作方式
单击单个切片色块或框选多个切片色块,可查看所选对象的详情。
鸿蒙Launch模板通过Launch泳道展示启动各阶段耗时,支持Load ETS Files(6.0.0 Beta1+)查看冷启动ETS加载和TOP 100冗余文件(双击蓝色文件名跳转源码),Static Initialization子泳道分析静态资源库加载耗时,Running CPU Cores子泳道查看线程所在CPU核心,Details区域展示耗时统计、线程状态、切片信息等,帮助识别启动瓶颈。
更多推荐




所有评论(0)