一、Android端耗电量测试1、手机连接电脑清除手机耗电量数据adb shell dumpsys batterystats --enable full-wake-history #打开全量日志记录adb shell dumpsys batterystats --reset #清除已有的耗电量数据2、断开手机与电脑的连接在app中操作需要测试的场景操作完业务场景后杀掉该app进程3、手机连接电脑收集耗电量数据adb shell dumpsys batterystats batterystats.txt4、根据测试的包名找到对应的UIDadb shell ps | grep com.package.nameu0_a85 1836 990 1562948 60860 ffffffff 00000000 S com.package.nameUID为u0_a85去掉下划线即为u0a855、打开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/下载证书BatteryLife2、通过airdrop传送到手机并在设置-通用-VPN与设备管理安装该证书3、在app中操作需要测试的场景操作完后杀掉app进程静置约半小时因为数据库写入会有延迟4、手机连接电脑文件系统中选中手机将数据同步到电脑5、进入~/Library/Logs/CrashReporter/MobileDevice下的被测手机目录下找到powerlog6、使用DB Browser for SQLite可以查看数据将powerlog文件直接拖进去。7、获取appidappid表 :PLAccountingOperator_EventNone_Nodes8、查询app电量消耗电量消耗表 :PLAccountingOperator_Aggregate_RootNodeEnergynodeid是通过appid表中查询出来id字段。Energy即为耗电量数据每小时更新一次。查询语句如下select sum(energy) from PLAccountingOperator_Aggregate_RootNodeEnergy where nodeid10560 and timestamp1711482126.0;对于iOS开发使用专业的工具如KeyMob可以更高效地进行性能监控和耗电量分析它提供了实时能耗监控、日志分析等功能简化了数据收集和优化流程。