鸿蒙开发中,并行并发是提升应用性能的重要手段。任务池(TaskPool)为应用程序提供多线程运行环境,降低资源消耗并提高系统整体性能。DevEco Profiler的Concurrency场景分析能力,帮助分析Task的生命周期、吞吐量、耗时等性能问题。

一、Concurrency功能介绍

1.1 支持的并发模型

并发模型 说明
TaskPool 任务池并发模型
FFRT 基于任务的并发编程框架
Async NAPI NAPI异步调用
Async ArkTS ArkTS异步调用

1.2 支持的泳道

泳道 说明
FFRT FFRT并发任务(本文介绍)
TaskPool 任务池并发任务(本文介绍)
Async NAPI NAPI异步调用(本文介绍)
Async ArkTS ArkTS异步调用(本文介绍)
ArkTS Callstack ArkTS调用栈分析
Callstack Native调用栈分析
Process 进程分析

二、查看Task统计信息

2.1 筛选进程

选择展开某个泳道,用options下拉框筛选不同进程。

2.2 查看统计信息

框选子泳道中某段时间范围,详情区会出现该时段内,泳道对应执行状态下,并行并发任务的统计信息。

点击Task Name的跳转按钮可跳转到对应的Task泳道。

三、查看某一个Task的所有状态

3.1 操作方式

选择展开某个泳道,用options下拉框筛选不同进程。框选子泳道中某段时间范围,可以看到该Task在框选时间范围内的任务状态。

3.2 跳转查看详情

点击Task Name的跳转按钮可跳转到对应线程的泳道,可查看在该Task执行时间范围内,trace文件的打点信息,反映的是线程该时段内的函数执行情况。

3.3 单独查看异步调用

操作 说明
展开Async ArkTS泳道 单独查看ArkTS异步调用任务详情
展开Async NAPI泳道 单独查看NAPI异步调用任务详情

四、查看Task的某个状态

点击Task子泳道的某个执行节点,Details详情区里会出现task在该状态下的详细信息。

五、Concurrency调优流程

创建Concurrency会话
    ↓
选择泳道(FFRT/TaskPool/Async NAPI/Async ArkTS)
    ↓
用options下拉框筛选进程
    ↓
框选关注时间段 → 查看统计信息
    ↓
(可选)点击跳转按钮查看Task泳道
    ↓
点击具体执行节点 → 查看状态详情
    ↓
(可选)展开Async ArkTS/NAPI单独查看异步调用

   鸿蒙Concurrency模板通过FFRT、TaskPool、Async NAPI、Async ArkTS泳道展示并行并发任务,支持按进程筛选(options下拉框),框选时间段查看Task统计信息,点击跳转按钮查看对应Task泳道或线程trace打点,点击执行节点查看状态详情,帮助分析Task生命周期、吞吐量和耗时等问题。

Logo

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

更多推荐