使用后台任务检查器调试 WorkManager worker

在使用 WorkManager 库 2.5.0 或更高版本时,后台任务检查器有助于您直观呈现、监控和调试应用的后台 worker。

开始

如需在后台任务检查器中列出工作器,请执行以下操作:

  1. 在模拟器或搭载 API 级别 26 或更高版本的已连接设备上运行您的应用

  2. 从菜单栏中依次选择 View > Tool Windows > App Inspection

  3. 选择 Background Task Inspector 标签页。

  4. 从菜单中选择正在运行的应用进程。

  5. 当前正在运行的应用中的 worker 会显示在 Background Task Inspector 窗格中。点击要进一步检查的 worker。

查看和检查 worker

当您使用 WorkManager 2.5.0 或更高版本在搭载 API 级别 26 或更高级别的设备上部署应用时,后台任务检查器标签页会显示活跃的 worker。后台任务检查器(如后续部分的图 3 所示)中列出了所有作业(无论作业是正在运行、失败还是已完成)的类名、当前状态、开始时间和重试次数。

Work Details

点击列表中的某项作业,即可打开 Work Details 面板,其中显示了相应 worker 的详情,如图 1 所示。

所选 worker 详细信息的屏幕截图。
图 1. Work Details 面板。
  • Description:此部分列出了包含完全限定软件包的 worker 类名,以及此 worker 的已分配标记和 UUID。
  • Execution:此部分显示了 worker 的约束条件(若有)、运行频率、状态,以及哪个类创建了此 worker 并将其加入队列。
  • WorkContinuation:此部分显示了此 worker 在工作链中所处的位置。如需查看工作链中另一个 worker 的详情,请点击其 UUID。
  • Results:此部分显示了所选 worker 的开始时间、重试次数和输出数据。

取消 worker

如需停止当前正在运行的 worker 或已加入队列的 worker,请选择相应 worker,然后点击工具栏中的 Cancel Selected Worker 图标

查看图表视图

由于 worker 可以链接在一起,因此,以图表形式直观呈现 worker 的依赖关系有时会非常有用。

如需查看 worker 链的直观呈现形式,请从表中选择一个 worker,然后点击工具栏中的 Show Graph View 图标 。图表中只绘制了 worker。

图表视图的屏幕截图。
图 2. 图表视图。

通过该图表,您可以快速查看 worker 之间的关系,并监控其在复杂链接关系中的进度。

如需返回列表视图,请点击 Show List View 图标

查看和检查作业、alarm 和唤醒锁

借助后台任务检查器,您还可以检查应用的作业、alarm 和唤醒锁。每种类型的异步任务都会显示在检查器标签页的相应标题下,便于您轻松监控其状态和进度。

与 worker 类似,您可以在 Task Details 面板中选择相应作业、alarm 或唤醒锁,以检查其详细信息。

您可以在右侧的 Task Details 面板中选择相应 worker、作业、alarm 或唤醒锁,查看其详细信息。

“Background Task Inspector”窗口的屏幕截图。
图 3. “后台任务检查器”窗口。

其他资源

如需详细了解后台任务检查器,请参阅下列其他资源:

文档

Codelab

博文