Skip to content
阅读进度

异步任务该用哪种方式? ​

返回 Android 核心 目录

标准回答 ​

短期进程内工作用受控线程池或协程;需要跨进程退出仍被调度的可延迟工作常用 WorkManager;符合规则的持续用户可感知工作才考虑前台服务。

关键机制 ​

  • 页面关联任务要跟随页面或 ViewModel 的有效期取消;仅创建 Thread 不会提高进程存活保证。
  • WorkManager 支持约束、重试与持久化调度,但不保证精确时间启动;强制停止和权限等也会影响执行。
  • 前台服务需要满足启动时机、服务类型、通知与权限要求;具体行为查对应版本规则。

通俗例子 ​

加载当前列表用页面任务;稍后同步非紧急日志可用 WorkManager;用户正在使用的导航定位按产品需要使用合规前台服务。

易混淆点 ​

不要把前台服务当作无限保活方案,也不要用 WorkManager 承担毫秒级的即时交互。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。