JobScheduler是Android5.0 开始引入了一个新系统服务。它将后台任务调度直接交给系统服务(JobSchedulerSevice)管理,并且可以设置许多约束条件,如周期调度,延迟调度,网络连接,电源插入,还有AndroidL引入的空闲模式,在条件符合的情况下,系统服务BindService的方式把应用内Manifest中配置的JobService启动起来,并通过进程间通信Binder方式调用JobService的onStartJob、onStopJob等方法来进行Job的管理。即便在执行任务之前应用程序进程被杀,也不会导致任务中断,Jobservice不会因应用退出而退出,但确实是运行在该应用进程中。
后面又出现了WorkManger 统一了后台任务所有手段,会根据情况选择其中一种,就包括JobSchedule
##JobInfo.Builder配置介绍
构造函数:JobInfo.Builder(int jobId, ComponentName jobService)
参数说明
- int jobId
按照官方文档说jobId该标识符在相同的uid的所有客户端中必须是唯一的(即在该设备上必须是唯一的)。为了保证在应用升级后也是稳定的,因此建议不要基于资源id进行设置 。 - ComponentName jobService
用来处理该任务的应用内服务service的ComponentName&