WorkManager 中的多线程
使用收藏夹保持井井有条 根据您的偏好保存和分类内容。
在 WorkManager 入门 中,我们提到 WorkManager 会代表您异步执行后台工作。基本实现满足大多数应用的需求。对于更高级的用例,例如正确处理工作停止,您应该了解 WorkManager 中的线程和并发。
WorkManager 提供了四种不同的工作基元类型
Worker
是最简单的实现,也是您在前面部分看到的实现。WorkManager 会自动在后台线程上运行它(您可以覆盖)。在 Worker 中的多线程 中详细了解 Worker
实例中的线程。
CoroutineWorker
是 Kotlin 用户推荐的实现。CoroutineWorker
实例公开了用于后台工作的挂起函数。默认情况下,它们会运行默认的 Dispatcher
,您可以自定义它。在 CoroutineWorker 中的多线程 中详细了解 CoroutineWorker
实例中的线程。
RxWorker
是 RxJava 用户推荐的实现。如果您的许多现有异步代码都在 RxJava 中建模,则应使用 RxWorker。与所有 RxJava 概念一样,您可以自由选择您选择的线程策略。在 RxWorker 中的多线程 中详细了解 RxWorker
实例中的线程。
ListenableWorker
是 Worker
、CoroutineWorker
和 RxWorker
的基类。它适用于必须与基于回调的异步 API(例如 FusedLocationProviderClient
)交互且未使用 RxJava 的 Java 开发人员。在 ListenableWorker 中的多线程 中详细了解 ListenableWorker
实例中的线程。
此页面上的内容和代码示例受 内容许可 中描述的许可证约束。Java 和 OpenJDK 是 Oracle 和/或其关联公司的商标或注册商标。
上次更新时间:2024-01-03 UTC。
[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"缺少我需要的信息" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"过于复杂/步骤过多" },{ "type": "thumb-down", "id": "outOfDate", "label":"已过时" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"示例/代码问题" },{ "type": "thumb-down", "id": "otherDown", "label":"其他" }]
[{ "type": "thumb-up", "id": "easyToUnderstand", "label":"易于理解" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"解决了我的问题" },{ "type": "thumb-up", "id": "otherUp", "label":"其他" }]
{ "lastModified": "上次更新时间:2024-01-03 UTC。", "confidential": False }