发布于 Android9(API 等级为 28) 的电源管理特性影响了所有运行于该版本的应用, 无论这些应用的目标版本是否为该版本. 确保您应用在设备上恰当地运行是一件重要的事.
确保在各种条件下测试您应用的主要使用情况, 来查看电源管理特性是如何与其它应用相互作用的. 您可以使用 [Android Debug Bridge] 命令来开启和关闭一些特性.
Android Debug Bridge 命令
您可以使用 [Android Debug Bridge] shell 命令来测试几种电源管理特性.
关于使用 ADB 将您设备置于低电耗模式的信息, 请查看 [使用低电量模式和应用群组模式测试] .
应用待机群组
您可以使用 ADB 来手动分配您的应用到应用待机群组. 为了改变应用的群组, 首先使用如下命令模拟拔除设备:
$ adb shell dumpsys battery unplug
然后使用如下命令:
$ adb shell am set-standby-bucket packagename active|working_set|frequent|rare
您也可以使用如下命令一次设置多个包:
$ adb shell am set-standby-bucket package1 bucket1 package2 bucket2...
要检查应用在哪个群组, 请运行
$ adb shell am get-standby-bucket [packagename]
如果您不传入 packagename 参数, 该命令会列出所有应用的群组. 应用也可以通过调用新方法 UsageStatsManager.getAppStandbyBucket() 找出它在运行时的群组.
后台限制
要手动应用后台限制, 运行如下命令:
$ adb shell cmd appops set packagename RUN_ANY_IN_BACKGROUND ignore
要移除后台限制, 运行如下命令:
$ adb shell cmd appops set packagename RUN_ANY_IN_BACKGROUND allow
电池节省器
有几个命令来测试您的应用在低电量条件下是如何表现的.
★ 注意: 您也可以使用设备 "设置"> "电池节省器" 界面来将设备置于电池节省模式.
要模拟设备被拔除, 使用命令:
$ adb shell dumpsys battery unplug
要测试低电量条件下设备如何表现, 使用命令:
$ adb shell settings put global low_power 1
一旦您测试完成, 您应该通过如下命令撤销手动的设备设置:
$ adb shell dumpsys battery reset
该系列其它文档
[对低电耗模式和应用待机模式进行针对性优化] :
[监控电池电量和充电状态] :
[确定和监控插接状态和基座类型] :
[确定和监控连接状态] :
来源: https://www.cnblogs.com/andy-songwei/p/10729998.html