JobScheduler 从 Android 5.0(API 21) 开始提供,可用于在充电状态、待机闲置、Wifi连接状态等特定环境下,指示系统调度执行某些高消耗任务,如上传下载文件、更新资料等,有助于优化系统性能,节省电池消耗。
特性
- 支持在一个任务上组合多个条件
- 内置条件:设备待机、设备充电和连接网络
- 支持持续的job,这意味着设备重启后,之前被中断的job可以继续执行
- 支持设置job的最后执行期限
- 根据你的配置,可以设置job在后台运行还是在主线程中运行
使用流程
- 派生 JobService 子类,定义需要执行的任务(UI线程)
- 从 Context 中获取 JobScheduler 实例(相当于管理器)
- 构建 JobInfo 实例,指定 JobService 任务实现类及其执行条件
- 通过 JobScheduler 实例加入到任务队列
参考:在Android 5.0中使用JobScheduler