耗电优化(上):Android App 耗电分析

1. 电量和硬件

1.1 App 通过使用硬件模块消耗相应的电能

应用程序不会直接去消耗电池,而是通过使用硬件模块消耗相应的电能,下图是手机中一些比较耗电的硬件模块

在这里插入图片描述
CPU屏幕WiFi数据网络GPS 以及音视频通话都是我们日常的耗电大户。

坦白说,智能手机硬件的飞速提升,许多其实都是厂商叫卖的噱头。绝大部分硬件对于我们来说都已经处于性能过剩的状态,但多余的性能同时也在消耗电量

1.2 资源调度机制是厂商功耗优化最重要的手段

eg:

  • CPU 芯片会分大小核架构,会灵活地为不同任务分配相应的运算资源
  • 手机基带、GPS 这些模块在不使用时也会进入低功耗或者休眠模式,达到降低功耗的目的
  • 现在越来越多厂商利用深度学习的本地 AI 来优化资源的调度,对 GPU、运行内存等资源进行合理分配,确保可以全面降低耗电量。厂商需要在高性能跟电量续航之间寻找一个平衡点,有的厂商可能倾向于用户有更好的性能,有的厂商会倾向于更长的续航

2. 电量和应用程序

2.1 评估不同应用程序的耗电情况

根据物理学的知识,电能的计算公式为:

电能 = 电压 * 电流 * 时间

对于手机来说电压一般不会改变,所以在电压恒定的前提下,只需要测量电流和时间就可以确定耗电。

最终不同模块的耗电情况可以通过下面的这个公式计算:

模块电量(mAh) = 模块电流(mA) * 模块耗时(h)

模块耗时比较容易理解,但是模块电流应该怎样去获取呢?Android 系统要求不同的厂商必须在 /frameworks/base/core/res/res/xml/power_profile.xml 中提供组件的电源配置文件

power_profiler.xml 文件定义了不同模块的电流消耗值以及该模块在一段时间内大概消耗的电量,你也可以参考 Android D

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值