Android后台执行定时任务之WorkManager的问题

WorkManager的问题

后台周期性执行一个定时任务,可能几分钟,或者几秒,使用time taskcountdownTime 等无法避免应用在后台在某些设备上不执行的问题,但是使用workmanager 能够大大增大我们的渗透率,总结一些过程中的问题。

1.如何使用workmanager 来周期执行几分钟的任务

官方文档已经说明了PeriodicWorkReques t的最低间隔时间是15min . 基于这个问题我基于OneTimeWorkRequest 实现周期任务,也很简单就是在OneTimeWorkRequest 任务执行完毕新建一个OneTimeWorkRequest 任务,这里的时间间隔是没有限制的。

2.多个workmanager 重复执行的问题

这个是由于我们的任务已经加入work队列了,没有执行APP就被杀死了,app重新启动任务的时间到了,这个时候就会导致任务多次重复执行。解决办法就是基于自己的需求要在合适时机cancel掉我们的任务就好了,例如cancelAllWorkByTag 或者cancelAllWork

后面有空会考虑的研究workmanger内部的实现逻辑

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容