Android性能优化—Android电量优化

手机耗电的根本原因

是软件

电能

电能(J) = 电功率P(W) * 时间t(s)
电功率P(W) = 电压U(V) * 电流I©
电量Q© = 电流I(A) * 时间t(s)

在这里插入图片描述
电池说明代表的含义是什么?
mAh表示电量,Wh表示电能,即在提供稳定电压3.7V的情况下,可以提供稳定电流1700mA一个小时,即我们在测试的过程中给手机提供恒定的电压,只需获取电流值就可以量化手机的功耗

如何获取电量的值

测试方法

  • 通过Android API获取
    registerReceiver(receiver ,new IntentFilter(Intent.ACTION_BATTERY_CHANGED))

  • 通过读取系统电池传感器设备节点
    /sys/class/power_supply/battery/uevent

  • 通过使用外置电流仪器

哪些硬件设备会耗电

在这里插入图片描述
Google的一项报告指出,设备在活动状态下使用1秒的耗电量相当于待机2分钟的耗电量,Nexus5声称待机300小时,随着用户开始安装app等活动,电池续航事件缩短至原来的1/35,甚至更多,App使用的资源越多,耗电量就越大。

如何统计耗电原因

Android能耗统计文件

  • frameworks\base\core\res\res\xml\power_profile.xml
    Framework-res.apk 反编译后在/res/xml/power_profile.xml
    每个厂商每款设备都有可能不同,因为是根据手机设备搭载的硬件设置的。

电量统计原理

  • frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java
  • AppUsage:应用程序耗电量计算,是指每一个应用程序使用硬件模块所产生的耗电量,注意是按照Uid统计 shareduid
  • MiscUsage:其他杂项耗电量计算,所谓杂项,其实就是用户比较关心的一大类,包括:待机的耗电量、亮屏的耗电量、通话的耗电量、Wifi的耗电量等

Battery Historian2.0环境搭建:https://www.jianshu.com/p/378cf678bdeb

扫描二维码关注公众号,回复: 12013759 查看本文章

猜你喜欢

转载自blog.csdn.net/yzpbright/article/details/109260667
今日推荐