美文网首页Android应用保活
Android 5.0 JobScheduler简介以及在进程自

Android 5.0 JobScheduler简介以及在进程自

作者: OasisW | 来源:发表于2016-09-02 15:11 被阅读0次

前提:5.0以上,守护进程自拉活的模式已经不可用。同时由于forceStopPackage会禁用Broadcast、Alarm,因此应用在5.0以上的自拉活成为一个需要面临的新课题。

目前发现了两种方法可以做到在5.0以上实现应用的自拉活:

NotificationListenerService:缺点:需要用户打开开关;优点:实时性好,应用被杀马上拉起。

JobScheduler:下文将分析JobScheduler的实现原理、使用方法和优缺点。


JobScheduler主要API介绍:

JobScheduler:API 21以上提供的系统服务接口,是系统服务JobSchedulerService的客户端代理

http://developer.android.com/reference/android/app/job/JobScheduler.html

http://developer.android.com/samples/JobScheduler/index.html

获取:context.getSystemService(Context.JOB_SCHEDULER_SERVICE);

JobInfo:应用程序向JobSchedulerService发出任务请求的描述类,使用JobInfo.Builder构建。

http://developer.android.com/reference/android/app/job/JobInfo.html

http://developer.android.com/reference/android/app/job/JobInfo.Builder.html

JobInfo.Builder主要API

设置为开机启动的任务

设置任务执行周期

设置重试策略

JobScheduler对于应用自拉活的作用和方法:

通过JobScheduler将JobService注册到系统中,系统在条件满足时,主动bind到JobService,完成拉活。注册的信息不会因forceStop而被清除。

为了起到及时守护的效果,目前设置了周期为3秒:每3秒系统就会bind/unbind一次,为了防止JobService重新实例化,在App启动时,通过startService方法先拉起JobService,并使其STICKY。

优点:API21以上可用,测试6.0的Nexus 5x可用,与守护进程方式一起覆盖了4.0—6.0的机型。

缺点:受到Doze、系统休眠限制

Demo:https://github.com/ziruiwang/DefendService.git 

JobScheduler在系统中的主要结构

相关文章

  • Android 5.0 JobScheduler简介以及在进程自

    前提:5.0以上,守护进程自拉活的模式已经不可用。同时由于forceStopPackage会禁用Broadcast...

  • JobScheduler

    什么是jobScheduler jobscheduler是 android 在5.0上针对降低功耗而提出的一种策略...

  • 【Android】JobScheduler

    JobScheduler 从 Android 5.0(API 21) 开始提供,可用于在充电状态、待机闲置、Wif...

  • JobScheduler相关

    一. 介绍 JobScheduler 是API 21(Android 5.0)新加入的,在7.0时提供了当Cont...

  • Android 5.0 JobScheduler

    場景應用 当产品经理对你说,我要添加一个功能,当程序处于后台一段时间后,提示用户登陆失效返回登陆界面,这样的业务相...

  • Android使用JobScheduler定期推送本地通知

    Android5.0之后提供了JobService和JobScheduler,用于在稍后的某个时间点或者当满足某个...

  • JobScheduler 使用

    Android 5.0推出了一款新的工作模式——JobScheduler,用来执行后台任务。 官方解释:This ...

  • CardView

    简介 Android 5.0版本中新增了CardView,CardView继承自FrameLayout类,可以在一...

  • JobScheduler相关-使用及源码学习

    前言 JobScheduler是Android5.0 开始引入了一个新系统服务。它将后台任务调度直接交给系统服务(...

  • Android Camera2 简介

    Camera2简介 在Google 推出Android 5.0的时候, Android Camera API 版本...

网友评论

    本文标题:Android 5.0 JobScheduler简介以及在进程自

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