一、Android端耗电量测试1、手机连接电脑,清除手机耗电量数据 adb shell dumpsys batterystats --enable full-wake-history #打开全量日志记录 adb shell dumpsys batterystats --reset #清除已有的耗电量数据 2、断开手机与电脑的连接,在app中操作需要测试的场景,操作完业务场景后,杀掉该app进程 3、手机连接电脑,收集耗电量数据 adb shell dumpsys batterystats > batterystats.txt 4、根据测试的包名找到对应的UID adb shell ps | grep com.package.name
UID为u0_a85去掉下划线,即为u0a85 5、打开batterystats.txt文件,找到Estimated power use,并找到对应UID的耗电量情况,下图2.71mAh即UID为u0a405操作该业务的耗电量 6、不要忘了关闭全量记录唤醒。保持开启会造成性能问题 adb shell dumpsys batterystats --disable full-wake-history 二、iOS端耗电量测试Sysdiagnose是苹果的日志系统,通过Sysdiagnose可以获取到电量消耗,电流、电压、温度等 1、苹果开发者网站https://developer.apple.com/bug-reporting/profiles-and-logs/,下载证书BatteryLife 2、通过airdrop传送到手机,并在设置-通用-VPN与设备管理安装该证书 3、在app中操作需要测试的场景,操作完后杀掉app进程,静置约半小时(因为数据库写入会有延迟) 4、手机连接电脑,文件系统中选中手机,将数据同步到电脑 5、进入~/Library/Logs/CrashReporter/MobileDevice下的被测手机目录下,找到powerlog 6、使用DB Browser for SQLite可以查看数据,将powerlog文件直接拖进去。DB Browser for SQLite下载地址:Downloads - DB Browser for SQLite 7、获取appid appid表 :PLAccountingOperator_EventNone_Nodes 8、查询app电量消耗 电量消耗表 :PLAccountingOperator_Aggregate_RootNodeEnergy,nodeid是通过appid表中查询出来id字段。Energy即为耗电量,数据每小时更新一次。查询语句如下: select sum(energy) from PLAccountingOperator_Aggregate_RootNodeEnergy where nodeid=10560 and timestamp=1711482126.0; |
GMT+8, 2024-11-21 14:49 , Processed in 0.041400 second(s), 19 queries , Gzip On.
Powered by Discuz! X3.5
© 2001-2024 Discuz! Team.