WorkManager / PeriodicWorkRequest-当SO阻止其中一个的执行时,下一个工作会发生什么?

时间:2019-06-17 13:17:39

标签: android worker android-workmanager miui

我一直在遇到一些中国ROM的问题,这些ROM对后台作业执行了激进的政策。

在使用Xiaomi MI 9-API 28-MIUI 10进行测试时,我检查了有时未调用注册工作人员的doWork方法,但实际上是调用其他方法。禁用优化选项(默认情况下启用电池和后台应用阻止功能)时,它似乎可以更稳定地工作,但是我不确定我的用户是否愿意或什至愿意。

问题是,如果我已注册一个重复周期为1天的定期工作,并且其中某一天被阻止(因此,不会调用doWork,因此未处理未完成工作的SUCCESS,ERROR或RETRY结果是返回),第二天将执行此命令,还是因为“链条已损坏”而将其永久阻止?

我的意思是,库是在上一个工作完成后才将下一个工作排入队列吗,还是它们是周期性地在系统中注册的,并且其中一个的结果与下一个工作的执行无关?

1 个答案:

答案 0 :(得分:0)

如果工作从未执行过,则除非用户在这段时间内手动打开了该应用程序,否则下一个迭代也不会运行。