Android 9(API 级别 28)中发布的电源管理功能会影响在此版本上运行的所有应用,无论这些应用是否以此版本为目标平台。务必要确保您的应用在这些设备上运行正常。
在各种条件下测试应用的主要用例,了解电源管理功能如何彼此互动。您可以使用 Android 调试桥 (adb
)命令开启和关闭部分功能。
Android 调试桥 (adb) 命令
您可以使用 adb
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