如何更改Android 12(L)设备的Doze休眠参数
背景信息:
用户想要调整其设备(搭载LineageOS 19.1系统)在空闲状态下的Doze休眠参数,以提高电池续航。在先前版本中可通过Global设置进行此类配置,但在Android 12及更高版本进行了调整。
解决方案:
根据分析Android的源代码后发现:
– 在Android 11及以前版本中(https://cs.android.com/android/platform/superproject/+/android11-release:frameworks/base/core/java/android/provider/Settings.java;l=11461),Doze配置位于全局系统设置下的Settings.Global
中,通过device_idle_constants
来表示这些Doze参数。
– 在Android 12及其以后版本(https://cs.android.com/android/_/android/platform/frameworks/base/+/1e55861ed47de9be04537c6df64f2dbf4ef868cd),这些配置被迁移到了DeviceConfig
系统,具体的命名空间为device_idle
。
通过ADB命令手动调整Doze参数:
-
使用以下命令来设置空闲到休眠的转换时间(例如设置为目标值30秒):
shell
adb shell device_config put device_idle inactive_to 30000 -
同样地,可以使用类似的方式进行其他Doze相关参数调整。确保所使用的键完全匹配
device_idle
命名空间下的配置项。
注意:
执行这些修改后,建议再运行如下命令检查以确认参数是否已经生效:
adb shell dumpsys deviceidle
这个操作可以帮助用户确切了解其设定是否已成功应用到设备上。如遇设置失败或不生效的情况,请检查是否有其他系统限制或其他参数冲突。
总结:
本指南适用于希望优化Doze参数来节约电池使用并延长工作时间的高级Android用户。请在尝试以上步骤时保持谨慎,确保理解每一步操作的影响范围与后果,因为不同的操作系统版本可能支持的设置会有所差异。
请注意,虽然上述信息侧重于inactive_to
及sensing_to
值调整示例,但也可应用相同方法以更改其他相关设置项。