遇到手机功耗问题咱们该怎么办?

和你一块儿终身学习,这里是程序员Andoid程序员

本篇文章主要介绍 Android 开发中的部分知识点,经过阅读本篇文章,您将收获如下内容:shell

1、功耗是啥?
2、遇到功耗问题咱们该怎么办?
3、功耗问题重点 抓log
4、MTK 平台功耗 log 抓取方法
5、SPRD 平台功耗 log 抓取方法
6、高通平台功耗log抓取方法
7、记录异常时间段/点
8、抓取 bugreport
9、抓取 5份 top log信息
10、记录平均电流图ide

1、功耗是啥?

手机功耗是啥?
通俗点讲是手机耗电,最直接表现是电池不耐用了,待机时间变短了,用户的体验变差了,客户的投诉变多了。那么,开发过程当中咱们遇到手机功耗问题该怎么办?学习

2、遇到功耗问题咱们该怎么办?

正常状况下,手机测试过程当中遇到bug,测试同事的第一反应是抓log,记录复现场景,而后提bug,丢给研发去分析。测试

1.那么当咱们遇到功耗问题咱们该怎么办呢?

功耗问题一样属于bug,因此,上面对测试过程当中遇到bug的要求,一样适用于功耗问题的要求,即抓log,记录复现场景,而后提bug,丢给研发去分析。spa

只有理清复现问题的场景,这样研发才能够轻松的解决问题,若是本身都搞不清楚出现问题的状况,没有log,只说数据,研发有时候也是心有余而力不足,他们也是人,不是神,不是说看看数据就能够给你改好功耗问题的。若是有能够看一眼数据就能够改好功耗的人,请给咱们来一打,咱们须要他。.net

2. 提bug举例

飞行模式电流异常举例以下:code

功耗 要求
测试前提(很重要) 关闭 BT 、关闭 Wifi 、关闭 Location、打开飞行模式
重现步骤(很重要) 开机,飞行模式灭屏5-15分钟
实际结果 飞行底电流平均值 20mA(取灭屏后10-15分钟的平均电流值)
指望结果 电流正常,平均值4mA 左右
几率 100%
Log 抓取要求(共5份) 高通平台(logkit)MTK平台(mtklog)SPRD 平台(Ylog) 、bugreport、 平均电流图异常时间段 / 点5次 top 文件
Log 抓取方法 请看下文

3、功耗问题重点 抓log

功耗问题很复杂,各个不一样场景下均可以引发功耗问题,所以遇到功耗问题,咱们须要单独提供各个场景下,单独测试某个功耗场景下的问题,同时记录异常功耗电流波形图,各个log。blog

1.功耗问题须要保证5个前提

功耗问题涉及较多,须要保证在如下5个前提下进行。ip

  1. 保证飞行模式底电流正常。

  2. 保证Log 与 电流波形图 一 一对应。

  3. 保证一份 Log 只测试一个场景功耗。

  4. 测试15分钟,取测试5-15分钟内的平均值,0-5分钟log数据能够不计入平均值。

  5. 记录电流异常的时间段/点。

2.功耗问题须要提供 5 份log

遇到功耗问题,请提供如下 5种log

  1. MTK平台(见步骤四)或SPRD 平台(见步骤五)或高通平台log (见步骤六)

  2. 异常时间段 / 点(见步骤七)

  3. bugreport(见步骤八)

  4. top 文件 5份(见步骤九)

  5. 平均电流图(见步骤十)

4、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 参考图

5、SPRD 平台功耗 log 抓取方法

1.展讯平台关闭modem log方法

拨号界面输入暗码 *#*#83781#*#*,进入SPRD Logger 界面,右上角打开Settings, 点击Custom scene,关闭除Android log以外的开关(好比:BT、AP 、PS 、DSP 、Modem 等)。而后点击commit, 而后开启log,复现问题,而后关闭log。

详细关闭方法请看下图:

SPRD 平台开启 Android log 参考图

6、高通平台功耗log抓取方法

高通平台 Logkit 没有抓取modem log的功能,因此,咱们能够直接输入暗码*#*#12345#*#*开启Log,复现问题,而后关闭log。

高通平台 Logkit 功耗log抓取方法

7、记录异常时间段/点

测试功耗以前,请必定把手机时间跟电脑时间同步,这样不只方便记录异常时间段/点,并且有利于研发分析问题。

1.手机同步时间方法

进入 Settings,找到System,而后找到Data & time,调节手机时间与电脑时间同步。

同步时间方法如上

8、抓取 bugreport

抓取bug report 前,请执行如下adb命令reset 电池状态

adb shell dumpsys batterystats --reset
adb shell dumpsys batterystats --enable full-wake-history
adb shell dumpsys batterystats --reset
adb shell dumpsys batterystats --enable full-wake-history

而后开始测试功耗异常问题,测试30分钟左右,在执行如下adb命令抓取bugreport

adb bugreport bugreport.zip
adb bugreport bugreport.zip

9、抓取 5份 top log信息

手机链接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.txttop2.txttop3.txttop4.txttop5.txt方便查看

10、记录平均电流图

测试功耗能够分两种
1.使用程控电源+Excell表
2.使用PowerMonitor

1.使用程控电源+Excell表 抓取的电流图

好比某项目 屏全亮+打开wifi+打开BT+打开Location+插入双卡测试的平均电流以下:

程控电源+Excel 统计平均值

2.使用PowerMonitor 抓取的电流图

Power Monitor 测试功耗电流图如上

友情推荐

Android开发干货分享

至此,本篇已结束,若有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

分享到朋友圈吧,方便您使用时快速查找!