功耗问题处理指南
功耗问题由于涉及比较多,应该由硬件
、驱动
、音频
、软件
等同事协同分析,团队解决。但并不是说每个问题都需要所有人员参与,不同模块的功耗问题,有时候可以请专门负责的同事来解决,这样效率会提高不少。
以下内容是软件同事所写,如有不对的地方,还请硬件、驱动、音频等同事,提供宝贵意见,我们后续会不断完善并优化功耗处理指南,争取在短时间内快速高效解决功耗问题。
本文主要包含以下内容
一、不同部门功耗问题职责
二、常见功耗问题预处理流程
三、功耗 Log 抓取要求
四、MTK 平台功耗Log抓取规范
五、展讯 平台功耗Log抓取规范
六、功耗电流图提供规范
七、功耗Log 包含内容
一、不同部门功耗问题职责
不同部门同事的功耗职责如下:
硬件同事职责:
确保手机不漏电
、板子组装OK(有指纹,要激活,正常安装)
等不会引起功耗问题。
驱动同事职责:
确保飞行模式底电流
,Modem(2G/3G/4G)
等代码合入不会引起功耗问题。
音频同事职责:
确保音频相关的MP3
录音
视频解码播放
等不会引起功耗问题。
软件同事职责:
确保上层apk
不非法长期持有CPU唤醒锁
等引起功耗问题。
二、常见功耗问题预处理流程
理论上能进行功耗测试,硬件一般都是OK的,此时 驱动同事需要确保飞行模式底电流正常,这样才可以保证后续其他功耗测试正常进行。如飞行模式底电流异常,测试同事会拒测此版本。
备注:
以下优先分析条件:飞行底电流正常
硬件优先分析场景
- 1.开、关机等漏电流功耗。
音频优先分析
- 1.
MP3
播放问题 - 2.
MP4
视频解码播放问题(需要平台支持)
- 3.
SoundRecorder
底层编码功耗异常(需要平台支持)
驱动优先分析场景:
- 1.飞行模式底电流功耗异常
- 2.去除
GMS 三方apk
正常待机功耗异常 - 3.连仪器待机
(2G/3G/4G 实网)
等通讯Modem
功耗异常 - 4.功耗异常偏高
1- 6mA
- 5.亮屏等测试项功耗异常偏高
软件优先分析场景:
- 1.去
GMS 三方apk
正常,待机功耗异常 - 2.正常待机功耗偏高
8-20mA
- 3.具有周期性规律跳起的功耗异常
- 4.使用
top
命令,看到上层apk
长时间占用CPU
的异常功耗(含飞行底电流异常)
三、功耗 Log 抓取要求
在功耗测试时候,由于默认开启的Modem
等Log
会导致手机功耗异常。故,在测试功耗时,需要我们手动关闭Modem
等Log
。
功耗 Log 抓取强制要求(特殊场景除外)如下:
- 关闭
Modem
等Log
,只保留上层Log
。 - 请将手机时间与电脑时间同步,记录出现电流异常的时间点。
- 提供电流异常
波形图
及对应的Log
。 - 抓取
Log
后请及时提Bug
库。
四、MTK平台功耗Log抓取规范
拨号界面输入暗码 *#*#3646633#*#*
,进入MTK Logger
界面,右上角打开Logger Setting
,手动关闭除Moblie Log
之外的开关(比如:ModemLog、NetworkLog、GPSLog
)。
详细关闭方法请看下图:
五、展讯平台功耗Log抓取规范
拨号界面输入暗码 *#*#83781#*#*
,进入SPRD Logger
界面,右上角打开Settings
, 点击Custom scene
,关闭除Android log
之外的开关(比如:BT、AP 、PS 、DSP 、Modem 等
)。
详细关闭方法请看下图:
六、功耗电流图提供规范
不同场景下的功耗异常问题,需要单独提供不同场景下,单独测试此场景功耗问题的电流波形图
及相对应Log
。
为了方便快速分析问题,请一定要确保以下几点内容
1.保证飞行模式底电流正常。
2.一份 Log
只测试一个场景功耗。
3.手机时间与电脑时间同步,记录电流异常时间点。
4.Log
与 电流波形图
完全对应 。
5.测试15
分钟,取5-15分钟
的平均值。
功耗异常电流图举例如下
七、功耗Log 包含内容
抓 Log
后请及时提交Bug
库,方便研发人员快速分析预处理。同时,别忘记提交功耗异常的Log
。
功耗异常 Log 需要包含以下内容:
1.软件上层 Log
(MTK Log 或者 展讯 Ylog
)。
2.提供记录异常功耗的时间点。
3.提供异常功耗的电流波形图。