外观
WorkManager 如何保证任务在设备重启后仍能执行?
标准回答
WorkManager 会把需要持久执行的任务记录下来,条件满足时交给系统调度,重启后可继续安排。
- 工作信息保存在本地数据库,可支持进程退出和设备重启后的调度。
- 约束条件、系统节电和调度策略会影响执行时机。
- 处理重试与幂等,避免重复执行造成副作用。
通俗例子
照片上传时断网或设备重启,任务信息仍可恢复,联网后再调度;但不保证在某个精确时刻开始,也不适合所有立即任务。
深入解释
**为什么重启后还能继续调度:**WorkManager 持久保存任务信息,并交给合适的系统调度机制执行。进程退出不等于任务记录消失,满足约束后可以重新获得执行机会。
**它没有承诺什么:**它不是精确定时器,也不保证每次尝试恰好执行一次。任务应能恢复和幂等;用户强行停止应用等状态也会影响后台执行,不能理解成任何情况下立刻运行。
易混淆点
它不保证精确时刻执行,也不保证用户强行停止应用后仍立即运行。
参考资料
内容来源
- Android · AI Agent 知识手册 · 原条目
4.5.1