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