首页 > 解决方案 > Android WorkManager 用例

问题描述

我正在阅读有关 WorkManager(https://developer.android.com/guide/background)的信息。让我感到困惑的是两个相互矛盾的陈述。它说应该使用 WorkManager:

  1. 对于应该立即执行并需要继续处理的任务
  2. 对于可以在未来任何时间运行的任务,可以和延迟

有人可以解释一下,并用 WorkManger 的代码向我展示 2 个简单的示例,这些示例执行语句编号 1 和语句编号 2 的情况。谢谢

标签: androidkotlinandroid-workmanager

解决方案


WorkManager基本上是将工作从您的流程/活动卸载到专门的工作人员,这意味着您的应用程序不需要激活 WorkManager 来完成您的工作。

上面提到的两个语句都是有道理的,我不会编写代码,但我会提到支持两个语句的用例。

Statement1表示应该立即执行并需要继续处理的任务,这意味着您可以立即安排任何任务并且将长时间运行,例如考虑您通过单击按钮上传一些图像,因此您将尽快启动 UploadWorker当用户点击上传时(立即),即使用户杀死了你的应用程序,上传仍然应该发生,这将由 WorkManager 负责。

Statement2表示可以在未来任何时间运行的任务可以被延迟,这意味着你可以在未来的某个时间点安排一些工作,WorkManager 会在你想要的时间运行它。一个典型的例子是备份,你想每天早上备份用户数据,然后你可以创建一个 BackUpWorker 并要求 WorkManager 在未来的某个时间定期运行它。


推荐阅读