美文网首页
Android-JobScheduler使用

Android-JobScheduler使用

作者: A代码搬运工 | 来源:发表于2019-06-12 21:08 被阅读0次

        JobScheduler允许开发者创建在后台执行的job,当被预置的条件被满足时,这些job将在后台执行。尤其是在Android8.0之后,系统对后台任务限制的愈发严格。JobScheduler用来执行后台Job就特别实用。

       使用步骤:

       1.创建JobService

        onStartJob

        当系统要触发执行我们的Job时,会调用。

        return false,系统会onStartJob这个方法返回的时候,我们要做的工作已经做完,这不是一个耗时操作。

         return true的时候,系统会认为我们要执行一个耗时的工作,在onStartJob这个方法返回的时候,我们的工作仍然在异步执行。当我们的工作执行完成时,我们必须手动调用jobFinished。

        务必要注意,如果onStartJob返回了true,在异步工作执行完成之后,我们必须手动调用jobFinished方法,如果不调用jobFinished,系统会一直认为我们在执行当前Job,那么系统就不会再入队其他的Job去执行,也就是说JobScheduler的执行队列就会被阻塞了.

        onStopJob

        当系统收到一个cancel job请求时,并且这个job仍然在执行,系统就会调用onStopJob方法也就是说系统收到取消请求时,并不会一定调用onStopJob方法,只有onStartJob返回true才调用。

        需要注意的是,JobService是运行在我们应用的主线程,这意味着我们需要开新线程或者使用Handler或者AsyncTask来处理耗时的工作.

        2.创建JobScheduler

        要使用我们创建的JobService,我们必须使用系统的JobScheduler服务。

        调用实例如下:

JobSecheduler

相关文章

网友评论

      本文标题:Android-JobScheduler使用

      本文链接:https://www.haomeiwen.com/subject/qcllfctx.html