【Android P】 JobScheduler服务源码解析(三)—— 使用Job需要注意的点

本文主要探讨Android JobScheduler服务的调试知识,包括强制执行Job、查看Job状态等命令,以及在使用Job时应注意的事项,如设置限制条件、避免主线程耗时操作导致的异常和ANR,理解CancelAll的影响,以及JobService启动问题的解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android Job 服务在系统中算是一个比较轻量级的服务,但是推出后,被很多应用运用进去了
前面两篇主要是解析Job 是怎么使用的。并且其原理如何。本篇着重于应用调试,这里会对自己使用Job 中遇到的坑,以及小技巧分享一下

调试知识扩展

adb shell cmd jobscheduler run -f -u 0 com.google.android.apps.turbo 106
// 强制执行google turbo 包下的JobID 为106的Job

adb shell cmd jobscheduler get-job-state -u 0 com.google.android.apps.turbo 106
//获取当前turbo jobID 为106 状态

adb shell cmd jobscheduler // 终端操作帮助文档

adb shell dumpsys jobscheduler pkgname // 查看当前包下面所有的job信息以及状态

adb shell dumpsys jobscheduler package com.android.phone // 查看com.android.phone 包下所有的job信息

Job使用注意点

  1. IllegalArgumentException: You’re trying to build a job with no constraints, this is not allowed.
    K:job必须要指定一个限制条件,如setMinimumLatency()

  2. StrictModeException or ANR
    K: JobService 是直接继承Service,和IntentService不一样,Jobservic

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值