Android Worker在应用完全终止时运行是否触发Application.onCreate?
PeriodicWork 运行机制与应用初始化的关系
当应用完全终止后,系统启动 Worker 时,会先调用 Application.onCreate()。原因很简单:Worker 属于应用进程的一部分,系统要运行 Worker 就必须先拉起应用进程,而应用进程启动的第一个环节就是执行 Application 的 onCreate 方法,之后才会实例化并运行 Worker。
不过有几点需要注意:
- 如果你的
Application.onCreate()里包含依赖应用前台状态的初始化逻辑(比如和 UI 交互相关的组件),这类逻辑在 Worker 运行时可能无法正常工作——因为此时应用是在后台进程中启动的,没有前台界面支撑。 - 对于 Worker 依赖的核心组件,既然
Application.onCreate()会被执行,理论上这些组件已经完成初始化。但如果你的初始化逻辑有特殊限制(比如仅在用户主动打开应用时才初始化),那你就需要在 Worker 内部单独处理这些依赖的初始化,保证 Worker 能独立完成任务。
内容的提问来源于stack exchange,提问作者César Muñoz
相关产品推荐
相关产品推荐

