关于android-studio:Android-Studio-对现代-WorkManager-的支持

39次阅读

共计 1800 个字符,预计需要花费 5 分钟才能阅读完成。

在 上一篇文章 中,咱们提到了古代 WorkManager API 对工具反对方面也进行了改良,本文咱们将结合实际案例来看看具体有哪些改良。如果您更喜爱通过视频理解此内容,请在此处查看:

https://www.bilibili.com/vide…

△ Android Studio 对古代 WorkManager 的反对

从 Android Studio Arctic Fox 开始,您能够间接 在 Android Studio 内应用后台任务查看器检查和调试 Worker。

后台任务查看器是利用查看套件的一部分,它针对利用的几个方面提供更丰盛具体的信息。为了充分利用查看器,您的利用须要应用 WorkManager 2.5 或更新的版本。

利用查看器启用办法

首次关上利用查看器的最快办法是: 间断按两下 “Shift” 键,而后在弹出对话框中输出 App Inspection 并按回车键确认。您也能够从菜单栏顺次抉择: View → Tool Window → App Inspection 来关上利用查看器面板。

△ 关上 App Inspection 面板

示例演示

本次演示应用了 Android Studio Bumblebee 和 GitHub 上公开的 WorkManager 示例。

在 App Inspection 面板中切换到后台任务查看器 (Background Task Inspector) 标签,勾选利用中的 Filter,而后点击 Apply 按钮。能够看到在随着过滤的继续进行,每个 Worker 在其生命周期中的状态也在继续变动着。因为这些 Worker 依照程序运行,所以 CleanupWorker 须要在下一个 Worker 开始之前实现。其余的所有 Worker 此时要么处于排队状态,要么处于阻塞状态。

△ 应用 WorkManagerSample 利用和利用查看器面板

当初 CleanupWorker 曾经实现,队列中的其余 Worker 也将依照秩序运行。

△ 应用利用查看器面板的图表视图

您也能够从相似图示的图像中查看整个接续队列的内容。请从中抉择一个 Worker,切换到图表视图 (按钮为流程图款式)。对于更加简单的队列来说,图表视图是一种高效且不可或缺的了解伎俩。从这两种视图中,您都能够间接点击任何 Worker 来取得更详尽的剖析。

△ 后台任务的详细信息

在顶部是一个根本的阐明信息,包含可点击的类名和一个惟一 ID。

数据库查看器

△ 数据库查看器面板

后面的内容咱们谈到,WorkManager 会将您的工作数据长久化,那么上面咱们用数据库查看器 (Database Inspector) 进一步看看这是怎么实现的。您能够点击数据库查看器标签页,并在其中查找某项工作的惟一 ID。您会发现,无关该特定执行的各项信息都被保留下来了。

后台任务查看器

您还能够进一步查看某个特定的执行被安顿到了哪一个队列中。和手动搜寻调用信息相比,这种通过编组整顿的形式可能显著晋升剖析效率。您能够看到特定 Worker 是否受到限制,以及更加具体的频率和执行状态信息。

WorkManager 能够应用其中一个 Worker 的输入数据,并将其传递到流水线上游的另一个 Worker 中。这一点您能够从工作详细信息的后果 (Results) 中看到。输入数据蕴含着每个 Worker 的惟一标识符,会依照队列程序进行传递。

△ 演示 Worker 执行失败的场景

这里为您展现当工作链中的某个 Worker 执行失败时的场景。在工作的接续队列中插入了一个出错的 Worker,而后重启利用。能够看到,上一次运行的后果依然在这里供您查看。这也进一步印证了方才说到的工作数据长久化个性。这里启动并利用过滤器,抉择 Worker 后再次点击图表视图,这样就能迅速定位工作开始出错的地位 (您能够注意这里的感叹号)。您能够从这里点击间接进入 Worker 视图,而后持续调试出错的会话。

理解更多

通过本文您曾经对新的后台任务查看器做了简略理解。以上便是 WorkManager 相干全部内容,如需更多资源,请参阅:

  • 古代 WorkManager API 已公布
  • WorkManager 系列文章: 应用 Dagger 自定义 WorkManager
  • WorkManager 文档: 应用 WorkManager 调度工作
  • Codelab: 应用 WorkManager 解决后台任务
  • Codelab: WorkManager 进阶常识
  • WorkManager 示例代码

欢迎您 点击这里 向咱们提交反馈,或分享您喜爱的内容、发现的问题。您的反馈对咱们十分重要,感谢您的反对!

正文完
 0