Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is a JobService in Android

I am inspecting the latest samples in Android-L developer SDK. There is a sample class in android-L/ui/views/Clipping/ClippingBasic called TestJobService. It extends from JobService, which in turn extends from Service. I see that JobService is a class in android.jar, but I cannot find any information on it in the dev guides, nor in the Android sourcecode www.androidxref.com. Has anybody seen this class or know what it's purpose is?

like image 443
IgorGanapolsky Avatar asked Jul 07 '14 14:07

IgorGanapolsky


2 Answers

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

like image 79
matiash Avatar answered Nov 15 '22 17:11

matiash


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.

like image 22
Satyaki Mallick Avatar answered Nov 15 '22 17:11

Satyaki Mallick