android性能优化之一—— google historian 使用

针对MSM8996平台设备功耗问题,本文档详细介绍了使用googlehistorian工具进行电量性能测试的方法,并提供了从硬件到软件全方位的分析思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前公司项目是基于MSM8996,其中feature部分很早就完成,但是设备的功耗等performance一直不满意,发热,耗电快,对比竞品性能差等原因造成的很大影响,这几期针对公司功耗测试做一个完整的记录,包括硬件和软件两个维度进行详细分析,也欢迎大家一起讨论。

android性能优化之一 google historian使用

在使用google historian命令前,可以先对case进行测试一段时间,测试完后,使用下面的方式进行电量性能查看。
1. adb shell dumpsys batterystats > xxx.txt //得到整个设备的电量消耗信息
adb shell dumpsys batterystats > com.package.name > xxx.txt //得到指定app相关的电量消耗信息
2. 安装python 设置环境变量
3. python historian.py xxx.txt > xxx.html
得到生成的xxx.html
historian.py是google提供的python文件我们可以从github下载。从github上打包下载后,historian.py文件在scripts/目录下。当然python需要下载python2.7并安装python环境。
用google chrome 浏览器打开后成这个样子。
这里写图片描述
出现上述情况后,我们可以打开xxx.html查看。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
      <script type="text/javascript" src="https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1','packages':['timeline']}]}"></script>

<script type="text/javascript">

看到上述script,说明此html需要访问google,但国内是访问不了,需要VPN翻墙设置,设置完vpn,再次打开xxx.html后,显示如下。

这里写图片描述
上图是查看全部设备电量信息生成的html,可以很清晰的看到dumpsys之后的电量信息。
如果我们用:
adb shell dumpsys batterystats > com.package.name > xxx.txt //
则相对应的查看此app的电量消耗信息。

上述资料比较浅显,可以参考:
http://hukai.me/android-performance-battery/

### MTK平台电量日志分析工具和方法 对于MTK平台而言,电量管理和监控涉及到多个层次的日志记录机制。这些日志不仅帮助开发者了解电池状态的变化情况,还能够辅助定位潜在的问题根源。 #### 1. 使用`/proc/battery_status` 在Linux内核环境下运行的安卓设备上,可以通过读取`/proc/battery_status`文件获取当前电池的状态信息[^3]。此接口提供了诸如电压、电流、温度等参数的具体数值,有助于初步评估系统的电力消耗状况。 ```bash cat /proc/battery_status ``` #### 2. AEE Log System (AEE) 当遇到与电源管理有关的重大错误或者异常事件发生时,MTK平台通常会在AEE日志系统中留下详细的追踪线索。特别是针对突然断电或重启的情况,可以从`aee_ke`解析后的堆栈信息入手寻找可能的原因所在[^4]。 #### 3. Power Monitor Utility 某些版本的MTK SDK包含了专门用于监测功耗表现的应用程序——Power Monitor Utility。该应用程序允许工程师实时查看不同组件的工作负载及其对应的能耗水平,并支持导出CSV格式的数据以便进一步分析。 #### 4. Battery HistorianGoogle开发并集成到Android Studio中的Battery Historian插件同样适用于基于MTK方案的产品线。它能直观展示一段时间内的电池充放电曲线图谱,配合其他传感器数据共同作用于优化整体性能体验[^2]。 #### 5. MT6xxx系列特有的PMU调试命令 特定型号如MT6xxx家族成员配备有专用的电源管理单元(PMU),可通过ADB shell执行一系列预定义好的指令来进行更深入级别的诊断工作。例如: ```bash echo "pmu_dump" > /sys/kernel/debug/pmu/command ``` 这将触发一次完整的PMU内部寄存器转储操作,从而获得更加详尽的第一手资料供后续研究使用[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值