设备调度

设备调度模块包含一种逻辑,用于检测设备是否处于空闲状态并且可以重新启动而不会造成用户中断。

此模块可通过向安装程序提供可靠的重新启动就绪信号来提高软件更新的采用率。借助可靠的重新启动就绪信号,安装程序能够重新启动设备以应用更新,同时确保用户不会受到更新干扰。

相较于等待设备自然重新启动,在设备空闲时重新启动设备可实现更快的更新。通过缩短应用更新所需的时间,用户可以更快地接收重要修复,从而改善设备的整体运行状况。更快的更新采用速度也能促使更快地发现性能下降的问题。

此逻辑可以更新,因为确定设备的重新启动就绪状态涉及对多个条件的考量。这些条件可能会随着时间推移而变化,因此能够更新此逻辑可确保重新启动就绪信号保持有效。

模块边界

在 Android 12 中,此模块包含以下新目录中的代码:

  • packages/modules/Scheduling

软件包格式

设备调度模块 (com.android.scheduling) 以 APEX 软件包的形式提供。

该模块包含两个 JAR 文件:

  • framework-scheduling.jar: 包含与安装程序交互的 API Surface。此接口是 bootclasspath 的一部分。

  • service-scheduling.jar:包含新的系统服务 RebootReadinessManagerService,该服务由系统服务器进程加载。

依赖项

此模块不包含任何外部依赖项。