android - 如果应用程序处于活动状态并且 WorkManager 上没有应用约束,WorkManager 是否保证立即运行任务?
问题描述
目前,我们需要在 2 个不同的场景中通过 Internet 执行数据同步
- 当应用程序“退出”时
- 当应用程序处于活动状态并且用户按下“立即同步”按钮时
对于应用程序“退出”的场景,我们可以使用++ WorkManager
,带约束。ForegroundInfo
setForegroundAsync
NetworkType.CONNECTED
但是,对于应用程序处于活动状态并且用户按下“立即同步”按钮的情况,同步任务应立即运行。在这种情况下,是否仍然适合我们使用WorkManager
++ (没有网络限制,因为如果同步失败我们可以弹出一个UI通知没有互联网连接)ForegroundInfo
?setForegroundAsync
WorkManager
如果应用程序处于活动状态并且 WorkManager 上没有应用约束,是否会立即运行任务?
如果WorkManager
不能保证立即运行任务,那么我们可能需要考虑executor.submit
手动使用和设置 Foregound 服务。
解决方案
推荐阅读
- angular - Angular 单元测试理念
- github - github commits api的速率限制是多少
- python - 打印为python中中间字符串的长度
- reactjs - 如何模拟吐司的 onClose 方法
- kubernetes - 是否可以让 Kubernetes statefulset 中的所有 pod 都失败 ReadinessProbes 而不是一个?
- coq - 相互递归类型的自定义归纳原则
- vuejs2 - 对 2 路绑定的数组进行排序会导致 HTML 元素重新排序,从而导致错误的控制焦点
- python - Dash 回调不更新图表
- sql - SQL 在 ssms 中比在应用程序中更快
- python - 使用 Python 在 Amazon Alexa 上设置提醒?