乐趣区

关于android:Android-手机功耗分析指南

和您一起一生学习,这里是程序员 Android

本篇文章次要介绍 Android 开发中的局部知识点,通过浏览本篇文章,您将播种以下内容:

一、航行模式底电流问题
二、失常待机功耗简介
三、最洁净的待机电流波形
四、通过唤醒源理清失常待机问题
五、Audio Playback 功耗问题
六、Display 及多媒体功耗问题
七、通话功耗问题

一、航行模式底电流问题

航行模式底电流失常是所有功耗问题的前置条件,此时wifi、Bluetooth、Location、Radio 都处于敞开状态。

1. 零碎睡眠的条件

查看 CPU 是否进入 suspend 状态,suspend 确切的说是 MCU(ARM)suspend , 也是CPU 进入 WFI(Wait For Interrupt)状态,CPU 进入WFI 后,整个零碎就依附一颗 SCP:SPM(System Power Manager) 来管制 睡眠 / 唤醒 的流程

2. 灭屏到 CPU 进入 suspend 的流程

3. 判断零碎是否进入 suspend 的办法

在 kernel log 中搜寻关键字 Chip_pm_begin 或者 suspend entry

4. 查看 SPM(System Power Manager)状态

1. 在 kernel log 中搜寻关键字 wake up by, 能够查看唤醒源的状况,
2. 在 kernel log 中查看 R13 寄存器跟 debug_flag 的值,如果前面值不是 ff 结尾,此时零碎功耗可能会存在异样,须要查看剖析。

二、失常待机功耗简介

待机功耗很容易呈现问题,并且很难理清,因为其波及到 APK、Modem、Wifi、Other 这些不确定因素。

功耗问题解决准则:

1. 先花工夫把景象理清,到底在什么样的环境下复现。
2. 多做几个试验,给出清晰的问题形容、问题复现条件、电流波形图。
3. 提供 敞开 modem 的 log

3. 最洁净的待机电流波形

4. 通过唤醒源理清失常待机问题

1. 其余唤醒源剖析

kernel Log 膨胀关键字 wakeup by, wakeup by xxxx , 其中 xxxx 就是唤醒源。

2. APK 唤醒源剖析

APK 唤醒零碎是通过设置 type 0type 2 的 alarm 来唤醒零碎,这两种 alarm 会设置到RTC 寄存器中,而 RTC Module 其实是在PMIC 外面,因而APK 唤醒实际上是 PMICEINT 唤醒。

RTC 唤醒 sys_log 中搜寻关键字 AlarmManager: sending alarm Alarm,查看 type 0type 2 的利用有哪些。

如果 log 没有开启,请应用adb shell dumpsys alarm log on

5. Audio Playback 功耗问题

Audio playback 时候 MTK 低端平台没有专门的 audio DSP(Heilo X20 除外),故无奈在suspend 状态下实现audio playback,故须要CPU 做这件事件。

通话的时候之所以能够睡眠,是疑难 modem 充当了dsp 的角色。

deep idle 状态

Deep idle 实际上零碎还是 Active 状态,因而 CPU 须要疾速响应零碎申请调度,因而 GPT 唤醒源 Deep idle 的次要唤醒源。

Kernel Log中搜寻关键字 wake up by , 这个 log 是在 swapper 过程 中打印进去的(代表以后CPU 在运行 idle task),并且前面能够看到 DP: 的字样。

MP3 播放时进入 deep idle 状态(20mA)举例

辨别 suspend 与 deep Idle

  1. suspend 是跑在 suspend workqueue 中,因而 log 的过程主体是 kwork
  2. deep idle 是跑在idle task 中,因而 log 的过程主体是swapper
  3. suspend 默认不会被 GPT 唤醒。

6.Display 及多媒体功耗问题

手机所有亮屏的场景都是模块本身的耗电跟Display 局部耗电的叠加,所以Display 的功耗在整个零碎中占比十分高。
Display 功耗 = 硬件 + 平台 + 内容

Kernel Log中搜寻关键字 wake up by , 这个 log 是在 swapper 过程 中打印进去的(代表以后CPU 在运行 idle task),并且前面能够看到 SO: 的字样(通)

7. 通话电流功耗问题

通话模式的功耗跟失常模式的功耗区别

个别状况下
GSM 功耗 < 3G-TD < 3G-W 功耗

航行模式底电流 参考文档
规范模式功耗 参考文档
Audio PlayBack 功耗 参考文档
通话底功耗 参考文档
Display 及多媒体功耗 参考文档

情谊举荐:
Android 干货分享

至此,本篇已完结。转载网络的文章,小编感觉很优良,欢送点击浏览原文,反对原创作者,如有侵权,恳请分割小编删除,欢迎您的倡议与斧正。同时期待您的关注,感谢您的浏览,谢谢!

退出移动版