What is a JobService in Android

*爱你&永不变心* 提交于 2020-01-13 09:35:11

问题


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?


回答1:


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




回答2:


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.



来源:https://stackoverflow.com/questions/24613494/what-is-a-jobservice-in-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!