What is a JobService in Android
It's a new type of service, that is invoked for tasks that are scheduled to be run depending on system conditions (e.g. idle, plugged in).
Entry point for the callback from the JobScheduler.
This is the base class that handles asynchronous requests that were previously scheduled. You are responsible for overriding
onStartJob(JobParameters)
, which is where you will implement your job logic.
You basically create a JobInfo
object that describes these conditions (with JobInfo.Builder
) and set the component name of the service that must be executed.
To schedule them, you need the JobScheduler
, which you can access with Context.getSystemService(Context.JOB_SCHEDULER_SERVICE)
.
By the way, L Preview Documentation is here, in case you didn't know about it.
UPDATE: Here is the doc about JobService: https://developer.android.com/reference/android/app/job/JobService.html
You can go through this article, for a thorough understanding of the topic -
https://medium.com/google-developers/scheduling-jobs-like-a-pro-with-jobscheduler-286ef8510129
Our goal with JobScheduler was to find a way for the system to shoulder part of the burden of creating performant apps. As a developer, you do your part to create an app that doesn’t freeze, but that doesn’t always translate to the battery life of the device being healthy. So, by introducing JobScheduler at the system level, we can focus on batching similar work requests together, which results in a noticeable improvement for both battery and memory.