当前位置: 首页 > article >正文

App使用Job定时器不准时的原因分析

摘要

Job的定时器属性本质取决于Alarm接口的调用:从源码看Job定时器属性是不精准的,故若App在灭屏且放电场景下使用job定时器接口都是不准时的

Job定时器接口

Alarm type

Alarm window

充电或亮屏场景

灭屏且放电场景

setMinimumLatency

ELAPSED_REALTIME

非唤醒CPU类型,灭屏待机一般无法触发

WINDOW_HEURISTIC

非精准alarm

准时或会因对齐策略延时一些时间

非准时甚至不触发job

setOverrideDeadline

ELAPSED_REALTIME_WAKEUP 唤醒CPU类型,灭屏待机可以触发

非准时job,延迟时间依赖alarm策略

备注:灭屏且放电精准定时方案推荐:

1.AlarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,alarmTimeElapsed,


http://www.kler.cn/a/287694.html

相关文章:

  • 【Git版本控制器--1】Git的基本操作--本地仓库
  • 【Flink系列】4. Flink运行时架构
  • 如何使用策略模式并让spring管理
  • Ansible自动化运维:基础与实践
  • 计算机网络 (45)动态主机配置协议DHCP
  • 26_Redis RDB持久化
  • Java项目中的分库分表实践指南
  • 前端学习Day36
  • 【设计模式之原型模式——矩形原型】
  • Spring 事务 数据库连接获取和释放原理
  • 网络安全的历史
  • 基于my Batis优化图书管理系统(总)
  • 通用后台管理系统实战演示(Vue3 + element-plus)汇总篇二
  • 设计模式之生成器方法
  • css揭秘 7 结构与布局
  • Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
  • 使用API有效率地管理Dynadot域名,添加账户中的联系人信息
  • Java中Object的常用方法
  • 专利复现_基于ngboost和SHAP值可解释预测方法
  • 【html】新建一个html并且在浏览器运行
  • 零域(微隔离)详述
  • docker4
  • ios 企业签名证书购买_iOS苹果企业签名须知
  • Spring源码浅析の循环依赖
  • 泰山派的小手机后续(2)
  • upload-labs通关攻略