Doze中的adb命令大全
Android在6.0引入了低电耗模式,也就是俗称的doze,管理应用在设备未连接电源时的行为方式,提升设备续航表现。在doze中有两个状态,分别是light idle、deep idle,二者构成了Android系统的doze机制。
控制设备进入doze状态的命令:
dumpsys deviceidle 查看doze属性设置、名单配置情况和状态机信息
dumpsys deviceidle step light 满足进入doze的条件下,一步步进入light idle
dumpsys deviceidle step/(step deep) 满足doze的条件下。一步步进入到deep idle
dumpsys deviceidle force-idle/(force-idle deep) 强制设备进入到deep idle,只要不满足每个阶段的条件,那么就会退出
dumpsys deviceidle force-idle light 强制设备进入到light idle,只要不满足每个阶段的条件,那么就会退出
dumpsys deviceidle force-inactive 尝试让设备变成inactive状态
dumpsys deviceidle unforce 如果设备之前是强制进入到light idle或deep idle的话,并且当前在充电状态且亮屏,那么退出idle状态,变成active状态
dumpsys deviceidle get args 获取设备light idle、deep idle、屏幕、充电状态
dumpsys deviceidle motion 调用motionLocked函数,模拟设备运动
dumpsys deviceidle pre-idle-factor 0/1/2 设备设备在inactive和idle_pending的停留时长
dumpsys deviceidle reset-pre-idle-factor 恢复设备在inactive和idle_pending的停留时长为30mins
dumpsys deviceidle dump -h 查看doze的adb命令帮助文档
Doze使能开关命令:
打开设备doze功能:
doze功能默认是打开的。
dumpsys deviceidle enable deep 使能deep idle功能
dumpsys deviceidle enable light 使能light idle功能
dumpsys deviceidle enable 使能deep、light idle功能
dumpsys deviceidle enable all 使能deep、light idle功能
关闭设备doze功能:
dumpsys deviceidle disable deep 禁止设备进入到deep idle
dumpsys deviceidle disable light 禁止设备进入到light idle
dumpsys deviceidle disable all 禁止设备进入到deep、light idle状态
dumpsys deviceidle disable 禁止设备进入到deep、light idle状态
Doze白名单命令:
Android的doze中存在白名单。白名单内的应用,当设备进入到idle状态时,不受idle模式限制,如限制网络、job等。
doze存在四个名单:sys-whitelist、except-idle、user-whitelist、temp-whitelist,一般来说只需要关注user-whitelist即可。
adb shell dumpsys deviceidle whitelist 查看doze中的白名单,包括user-whitelist、except-idle、sys-whitelist
adb shell dumpsys deviceidle except-idle-whitelist 查看doze中的except-idle白名单
adb shell dumpsys deviceidle sys-whitelist 查看doze中的系统白名单
adb shell dumpsys deviceidle tempwhitelist 查看doze中的临时白名单
adb shell dumpsys deviceidle whitelist +pkgName 将应用加入到user-whitelist白名单中
adb shell dumpsys deviceidle whitelist -pkgName 将应用从user-whitelist白名单中去除
adb shell dumpsys deviceidle whitelist =pkgName 查看该应用是否在user-whitelist白名单中
adb shell dumpsys deviceidle sys-whitelist -pkgName 将应用从sys系统白名单中去除
adb shell dumpsys deviceidle sys-whitelist +pkgName 将应用加入到sys系统白名单中
adb shell dumpsys deviceidle except-idle-whitelist +pkgName 将应用加入到except idle白名单中
adb shell dumpsys deviceidle except-idle-whitelist -pkgName 将应用从except idle白名单中去除
adb shell dumpsys deviceidle tempwhitelist -r pkgName 将应用从doze中的临时白名单去除
adb shell dumpsys deviceidle tempwhitelist -u userId -d duration pkgName 将应用pkgName添加到哪个用户userId 的doze临时白名单中多长时间duration
四种名单区别:
类别 添加方式 生效范围
except-idle Google or 芯片厂商在xml文件中预置的以allow-in-power-save-except-idle开头的应用 在doze状态下不生效,省电模式下生效
sys-whitelist Google or 芯片厂商在xml文件中预置的以allow-in-power-save开头的应用 doze状态下生效
user-whitelist 用户可以手动添加的白名单应用 doze状态下生效
temp-whitelist 应用使用组件调用(如发广播),临时添加到白名单中 doze状态下生效
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.youkuaiyun.com/Mr_xuzhu/article/details/129464586