安卓通过adb移除电池白名单
在索尼Xperia5 II国行手机上,微信是默认加入电池白名单的,也就意味着后台杀不掉,这种智障操作是我万万没想到的。开启adb,手动移除出白名单,系统自带的"节电优能"或者"黑域"就可以杀微信后台了,但是每次更新还是会自动加上去,除了root暂时还未找到根治的办法。
Reference
- https://developer.android.com/training/monitoring-device-state/doze-standby?hl=zh-cn 针对低电耗模式和应用待机模式进行优化
- https://asutorufa.github.io/posts/1e63e0e/
从 Android 6.0(API 级别 23)开始,Android 引入了两项省电功能,在设备未连接电源时,通过管理应用的行为方式,帮助用户延长电池寿命。当用户长时间未使用设备时,低电耗模式(Doze)会延迟应用的后台 CPU 和网络活动,从而降低耗电量。应用待机模式(App Standby)会延迟用户近期未与之交互的应用的后台网络活动。
但是国内的环境你懂的,所以微信这种辣鸡就加入优化白名单,增加耗电,提升通知及时性。但你特么至少给个关闭的选项吧,傻逼,又不是人人都需要微信常驻后台的。
adb连上后查看doze状态:
$ adb shell dumpsys deviceidle
Settings:
light_after_inactive_to=+3m0s0ms
...
Whitelist user apps:
com.pryshedko.materialpods
com.tencent.mm
Whitelist (except idle) all app ids:
...
看到白名单中有微信的包了:“com.tencent.mm”,adb删除之:
$ adb shell dumpsys deviceidle whitelist -com.tencent.mm
Removed: com.tencent.mm
再重新运行adb shell dumpsys deviceidle
检查一遍,确认没有微信就OK了。