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

应用待机分组管控是啥

1. 应用待机群组是啥?

Android 9 引入了一个新功能,叫应用待机群组。简单来说,就是根据你最近使用应用的频率和时间,系统会把应用分成不同的“群组”。每个群组的应用能用的系统资源不一样,比如后台任务、闹钟、网络请求啥的。系统会根据你用的多少,动态调整应用在哪个群组里。

0

2. 群组分类及限制

系统会把应用分成五个群组,每个群组的限制不一样。比如,你常用的应用会被分到ACTIVE群组,几乎没啥限制;而不常用的应用可能会被分到RARE群组,限制就多了。这些限制主要是为了省电,只有在用电池的时候才会生效,充电的时候就没这些限制了。

3. 群组分类及限制

群组 (Bucket)

Jobs (最长运行 10 分钟)

Alarms (最长运行 10 秒)

Network (临时恢复时长:10 分钟)

FCM 高优先级

ACTIVE

无限制

无限制

无限制

无限制

WORKING_SET

每 2 小时

每 6 分钟

无限制

无限制

FREQUENT

每 8 小时

每 30 分钟

无限制

10 次/天,之后降级为普通

RARE

每 24 小时

每 2 小时

每 24 小时

5 次/天,之后降级为普通

NEVER

从不

从不

从不

从不

4. 需要注意的几点

厂商自定义:每个手机厂商可以自己定标准,决定哪些应用是“不活跃”的。

别瞎折腾:开发者不应该试图去影响应用在哪个群组,而是应该确保应用在当前的群组里能正常运行。

查群组:应用可以通过调用 UsageStatsManager.getAppStandbyBucket() 来查自己当前在哪个群组。

白名单例外:如果应用在低电耗模式的白名单里,那这些群组限制就不适用了。

5.五个群组的特性

以下是五个应用待机群组的详细特性:

群组 (Bucket)

特性描述

示例场景

系统限制

活跃 (Active)

用户当前正在使用应用,应用处于活跃状态。

- 应用已启动一个 Activity

- 应用正在运行前台服务

- 应用的同步适配器与某个前台应用使用的 content provider 关联

- 用户在应用中点击了某个通知

无限制

系统不会对应用的作业、报警或 FCM 消息施加任何限制。

工作集 (Working Set)

应用经常运行,但当前未处于活跃状态。

- 用户每天都会使用的社交媒体应用

- 应用被间接使用(如通过其他应用调用)

轻度限制

- 作业:每 2 小时运行一次

- 报警:每 6 分钟触发一次

- 网络:无限制

- FCM:无限制

常用 (Frequent)

应用会定期使用,但不是每天都必须使用。

- 用户在健身房使用的锻炼跟踪应用

- 每周使用几次的应用

较强限制

- 作业:每 8 小时运行一次

- 报警:每 30 分钟触发一次

- 网络:无限制

- FCM 高优先级:每天最多 10 次,之后降级为普通优先级

极少使用 (Rare)

应用不经常使用,偶尔才会用到。

- 用户仅在旅行时使用的酒店应用

- 每月使用几次的应用

严格限制

- 作业:每 24 小时运行一次

- 报警:每 2 小时触发一次

- 网络:每 24 小时连接一次

- FCM 高优先级:每天最多 5 次,之后降级为普通优先级

从未使用 (Never)

应用安装后从未运行过。

- 用户下载但从未打开过的应用

极强限制

- 作业:从不运行

- 报警:从不触发

- 网络:从不连接

- FCM:从不接收


简单总结一下:应用待机群组根据应用的使用频率和活跃状态,将应用分为五个等级。常用的应用资源多,不常用的资源少,这样既能保证用户体验,又能节省电量,一举两得!

http://www.dtcms.com/a/98715.html

相关文章:

  • 智能预测维护:让设备“未卜先知”,减少宕机烦恼
  • 程序化广告行业(40/89):手游归因与投放异常解析
  • libva基础
  • SAP学习笔记 - 用Deepseek 整理SAP 07 - MRP要素的缩略语一览
  • ADC笔记
  • Windows下安装和配置Redis
  • 前台线程和后台线程
  • 算法刷题记录——题解目录汇总(持续更新)
  • Docker学习之dockerfile篇(day8)
  • 算法刷题记录——LeetCode篇(9.1) [第801~810题]
  • 精准的集装箱号码识别技术在过磅系统中的应用,显著提升物流效率、减少人为错误
  • 基于kafka的分布式日志收集平台项目(第三部分)
  • 页码设置相关问题记录
  • React 揭秘:从新手到高手的进阶之路
  • day19学习numpy库和matplotlib库
  • 使用postcss-px-to-viewport-8-plugin将页面转响应式
  • git | 版本切换的相关指令
  • Qt Creator 中文 “error: C2001: 常量中有换行符“ 问题解决方法
  • 树的基础_遍历(蓝桥云课)
  • Qt之Service开发
  • 复盘与导出工具最新版V20.0版本更新--覆盖标记新增龙头标记---连板标记--普通标记3种选择
  • 深度学习4.4笔记
  • 游戏AI实现-GOAP
  • 【华为OD技术面试真题 - 技术面】- Java面试题(16)
  • 【免费】中国电子学会2025年03月份青少年软件编程Python等级考试试卷六级真题(含答案)
  • 解决obsidian无法加载社区的解决的尝试
  • DeepSeek-R1国产大模型实战:从私有化部署到内网穿透远程使用全攻略
  • 【Java】Java核心知识点与相应面试技巧(七)——类与对象(二)
  • c++游戏开发第一期
  • 【大模型基础_毛玉仁】5.3 附加参数法:T-Patcher