JobScheduler之超时检查

server/2024/10/5 10:16:33/

JobServiceContext与JobService交互的过程当中会JobServiceContext会进行超时检查,下面咱们来看看超时检查是怎么作的。 咱们须要解决的主要问题是:api

  1. 哪些操做会执行超时检查
  2. 超时时间是多少
  3. 一旦发生超时JobServiceContext会怎么处理

1. 哪些操做会执行超时检查

JobServiceContext中使用一个名为scheduleOpTimeOut的方法来执行超时检查,那么哪些地方会调用该方法呢? 经过全局搜索发现有如下调用点:

1.1 执行服务的bind操做时

boolean executeRunnableJob(JobStatus job) {synchronized (mLock) {//...scheduleOpTimeOut();final Intent intent = new Intent().setComponent(job.getServiceComponent());boolean binding = mContext.bindServiceAsUser(intent, this,Context.BIND_AUTO_CREATE | Context.BIND_NOT_FOREGROUND,new UserHandle(job.getUserId()));//...return true;}
}

1.2 触发JobService.onStartJob方法时

private void handleServiceBoundH() {

http://www.ppmy.cn/server/113875.html

相关文章

C#ping ip地址和域名的逻辑是一样的吗

在C#中,无论是ping IP地址还是域名,底层逻辑在大多数情况下是相同的,因为最终都是发送ICMP(Internet Control Message Protocol)回显请求消息给目标,并监听回显应答。不过,处理域名时&#xff0…

Leetcode67---二进制求和

https://leetcode.cn/problems/add-binary/description/ 给出的两个二进制,我们可以从最后开始往前运算。 给当前短的一位前面补充0即可。 class Solution {public String addBinary(String a, String b) {//给的就是二进制字符串 最后一位开始遍历 如果没有就补充…

《悉达多》观后笔记

今天整体状态不是很好,于是翻起了《悉达多》一书,之前就一直听说过这本书对于自我探索很有帮助,由于它的篇幅不长,所以我花费一整个下午的时间把这本书看完了。 其实我悟性还没那么高,也没有很透彻地明白,现…

Spring Boot如何解决跨域问题?

1.什么是跨域? 跨域请求,就是说浏览器在执行脚本文件的ajax请求时,脚本文件所在的服务地址和请求的服务地址不一样。说白了就是ip、网络协议、端口都一样的时候,就是同一个域,否则就是跨域。这是由于Netscape提出一个…

[Docker]当下实测可用Docker镜像源

在daemon.json配置文件中加入如下镜像源: { "registry-mirrors" : [ "https://hub.dftianyi.top" ] } 修改后,记得重启docker 至于daemon.json配置文件位置参考网上,或如下地方: Mac:/Us…

在Linux下查看HBA卡的速率和状态

平时在Linux下映射存储,都是映射哪台就给哪台插线,然后在存储端扫描WWPN,简单粗暴,没技术含量。当然,光交下也可以看。 1,查看当前卡的品牌,常用的卡有两种,Emulex和Qlogic。 lspc…

Unity3D中控制3D场景中游戏对象显示层级的详解

前言 在Unity3D开发中,控制游戏对象的显示层级(也称为渲染顺序或渲染层级)是一个常见的需求,特别是在处理复杂的3D场景时,如角色、道具、UI元素等的可见性和渲染顺序的管理变得尤为重要。Unity通过几种不同的机制来实…

【机器人工具箱Robotics Toolbox开发笔记(十一)】 机器人动力学分析

​动力学是研究物体运动与力之间关系的学科,对于机器人而言,其核心在于分析产生运动所需的力。在机器人动力学分析中,主要有两种方法: 牛顿-欧拉法:这种方法基于牛顿的运动定律和欧拉的动力学方程,通过计算作用在机器人连杆上的力和力矩,推导出机器人的动力学方程。它直…