【官网翻译】性能篇(五)为电池寿命做优化——测试电源相关的问题
发布于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://developer.android.google.cn/training/monitoring-device-state/doze-standby
【监控电池电量和充电状态】:https://developer.android.google.cn/training/monitoring-device-state/battery-monitoring
【确定和监控插接状态和基座类型】:https://developer.android.google.cn/training/monitoring-device-state/docking-monitoring
【确定和监控连接状态】:https://developer.android.google.cn/training/monitoring-device-state/connectivity-monitoring
- 记5.28大促压测的性能优化—线程池相关问题
- SQL SERVER性能优化--Tempdb相关问题
- 干货:性能测试相关问题及解决办法汇总
- 记5.28大促压测的性能优化—线程池相关问题----一下子专到了太细节的地方,忽视了整体的架构
- android 内存优化以及性能优化相关问题
- 推荐两本Squid性能测试与优化相关的书
- 浅析Mongodb性能优化的相关问题
- android 内存优化以及性能优化相关问题
- 浅析Mongodb性能优化的相关问题
- 从某次测试过程中,得到的MySQL性能优化的建议,和定位问题的方法 推荐
- android 内存优化以及性能优化相关问题
- 性能测试、指标和优化 -- 性能相关总结
- NodeJS性能测试及优化相关资料
- 记5.28大促压测的性能优化—线程池相关问题
- 性能测试学习中的问题与解答4--关联的相关知识
- 架构相关:组件化/模块化/工程化/性能优化/开发规范与团队协作/组件间调用与通信(flex/redux)/调试与测试
- hibernate3第六章之性能优化相关几个问题_1
- 性能测试、指标和优化 -- 性能相关总结
- 记5.28大促压测的性能优化(线程池相关问题)
- 性能测试、指标和优化 -- 性能相关总结