功耗问题由于涉及比较多,应该由硬件、驱动、音频、软件等同事协同分析,团队解决。但并不是说每个问题都需要所有人员参与,不同模块的功耗问题,有时候可以请专门负责的同事来解决,这样效率会提高不少。
以下内容是软件同事所写,如有不对的地方,还请硬件、驱动、音频等同事,提供宝贵意见,我们后续会不断完善并优化功耗处理指南,争取在短时间内快速高效解决功耗问题。
本文主要包含以下内容
一、不同部门功耗问题职责
二、常见功耗问题预处理流程
三、功耗 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.提供异常功耗的电流波形图。