性能优化中,启动速度是衡量用户体验的重要指标。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区域展示耗时统计、线程状态、切片信息等,帮助识别启动瓶颈。

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐