和你一块儿终身学习,这里是程序员Andoid程序员
本篇文章主要介绍 Android 开发中的部分知识点,经过阅读本篇文章,您将收获如下内容:shell
1、功耗是啥?
2、遇到功耗问题咱们该怎么办?
3、功耗问题重点 抓log
4、MTK 平台功耗 log 抓取方法
5、SPRD 平台功耗 log 抓取方法
6、高通平台功耗log抓取方法
7、记录异常时间段/点
8、抓取 bugreport
9、抓取 5份 top log信息
10、记录平均电流图ide
手机功耗是啥?
通俗点讲是手机耗电,最直接表现是电池不耐用了,待机时间变短了,用户的体验变差了,客户的投诉变多了。那么,开发过程当中咱们遇到手机功耗问题该怎么办?学习
正常状况下,手机测试过程当中遇到bug,测试同事的第一反应是抓log,记录复现场景,而后提bug,丢给研发去分析。测试
功耗问题一样属于bug,因此,上面对测试过程当中遇到bug的要求,一样适用于功耗问题的要求,即抓log,记录复现场景,而后提bug,丢给研发去分析。spa
只有理清复现问题的场景,这样研发才能够轻松的解决问题,若是本身都搞不清楚出现问题的状况,没有log,只说数据,研发有时候也是心有余而力不足,他们也是人,不是神,不是说看看数据就能够给你改好功耗问题的。若是有能够看一眼数据就能够改好功耗的人,请给咱们来一打,咱们须要他。.net
飞行模式电流异常举例以下:code
功耗 | 要求 |
---|---|
测试前提(很重要) |
关闭 BT 、关闭 Wifi 、关闭 Location、打开飞行模式 |
重现步骤(很重要) |
开机,飞行模式灭屏5-15分钟 |
实际结果 | 飞行底电流平均值 20mA(取灭屏后10-15分钟的平均电流值) |
指望结果 | 电流正常,平均值4mA 左右 |
几率 | 100% |
Log 抓取要求(共5份) |
高通平台(logkit) 或MTK平台(mtklog) 或SPRD 平台(Ylog) 、bugreport 、 平均电流图 、异常时间段 / 点 、5次 top 文件 。 |
Log 抓取方法 | 请看下文 |
功耗问题很复杂,各个不一样场景下均可以引发功耗问题,所以遇到功耗问题,咱们须要单独提供各个场景下,单独测试某个功耗场景下的问题,同时记录异常功耗电流波形图
,各个log。blog
功耗问题涉及较多,须要保证在如下5个前提下进行。ip
保证飞行模式底电流正常。
保证Log
与 电流波形图
一 一对应。
保证一份 Log
只测试一个场景功耗。
测试15
分钟,取测试5-15分钟
内的平均值,0-5分钟
log数据能够不计入平均值。
记录电流异常的时间段/点。
遇到功耗问题,请提供如下 5种log
MTK平台(见步骤四)
或SPRD 平台(见步骤五)
或高通平台log (见步骤六)
异常时间段 / 点(见步骤七)
bugreport(见步骤八)
top 文件 5份(见步骤九)
平均电流图(见步骤十)
MTK log 默认开启了Modem log,这个对抓取通话相关的log是有利的,可是对于有高要求的功耗问题却有很大的坏处,开启modem Log 会致使手机功耗偏高,因此,功耗log要求:必定要关闭 modem log。
拨号界面输入暗码 *#*#3646633#*#*
,进入MTK Logger
界面,右上角打开Logger Setting
,手动关闭除Moblie Log
以外的开关(好比:ModemLog、NetworkLog、GPSLog
)。而后返回主界面,开启log,复现问题,关闭log。
详细关闭方法请看下图:
mtk 平台开启 Mobile log 参考图
拨号界面输入暗码 *#*#83781#*#*
,进入SPRD Logger
界面,右上角打开Settings
, 点击Custom scene
,关闭除Android log
以外的开关(好比:BT、AP 、PS 、DSP 、Modem 等
)。而后点击commit, 而后开启log,复现问题,而后关闭log。
详细关闭方法请看下图:
SPRD 平台开启 Android log 参考图
高通平台 Logkit 没有抓取modem log的功能,因此,咱们能够直接输入暗码*#*#12345#*#*
开启Log,复现问题,而后关闭log。
高通平台 Logkit 功耗log抓取方法
测试功耗以前,请必定把手机时间跟电脑时间同步,这样不只方便记录异常时间段/点,并且有利于研发分析问题。
进入 Settings
,找到System
,而后找到Data & time
,调节手机时间与电脑时间同步。
同步时间方法如上
抓取bug report
前,请执行如下adb
命令reset
电池状态
adb shell dumpsys batterystats --reset
adb shell dumpsys batterystats --reset
adb shell dumpsys batterystats --enable full-wake-history
adb shell dumpsys batterystats --enable full-wake-history
而后开始测试功耗异常问题,测试30
分钟左右,在执行如下adb
命令抓取bugreport
adb bugreport bugreport.zip
adb bugreport bugreport.zip
手机链接USB
、 测试功耗问题,而后每隔2
分钟执行一下下面adb
命令。
adb shell top -n 30 -m 10 -k -%CPU > top1.txt
adb shell top -n 30 -m 10 -k -%CPU > top1.txt
建议命名为top1.txt
、top2.txt
、top3.txt
、top4.txt
、top5.txt
方便查看
测试功耗能够分两种
1.使用程控电源+Excell表
2.使用PowerMonitor
好比某项目 屏全亮+打开wifi+打开BT+打开Location+插入双卡测试的平均电流以下:
程控电源+Excel 统计平均值
Power Monitor 测试功耗电流图如上
友情推荐
至此,本篇已结束,若有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!
分享到朋友圈吧,方便您使用时快速查找!