Android性能优化(八)电量优化

一、耗电量

  手机各个硬件模块的耗电量是不一样的,有些模块非常耗电比如移动蜂窝网络、GPS,而有些模块则相对显得耗电量小很多。

Android性能优化(八)电量优化_第1张图片

  电量测试,就是测试移动设备电量消耗快慢的一种测试方法。一般用平均电流来衡量电量消耗速度。平均电流越小,说明设备使用时间越长。但是平均电流多大才说明不耗电却没有一个统一标准。

 

硬件测试:

  利用硬件设备测试被测设备的电流,统计一段时间内(使用某个功能模块)的平均电流值。

 

软件测试

  利用系统工具导出分析报告  

 

  二、Battery Historian

Battery Historian是google开源的电池历史数据分析工具。

https://github.com/google/battery-historian

bugreport

 

导出分析数据 

对于SDK25开始 bugreport 必须在7.0以上设备才能使用。

下载旧版本:

http://mirrors.zzu.edu.cn/android/repository/

如:下载r20的platform-tools

 

Android性能优化(八)电量优化_第2张图片

 

参考文章:

https://blog.csdn.net/ykmeory/article/details/90552856

https://blog.csdn.net/weixin_30318645/article/details/94818141

 

三、优化建议

后台处理三个原则:

  1、减少;我们需要减少后台处理

  2、延迟;当设备充电时候再去执行

  3、合并;把多个处理任务合并在一起。

 

1、注意wakelock,根据情况可以使用Jobscheduler/Alarm替代

  

2、及时关闭不再需要的功能,如GPS、网络请求超时设置

 

3、在使用wifi/充电状态下执行某些任务

  JobScheduler、主动/被动获取状态

 

四、Doze

https://developer.android.google.cn/training/monitoring-device-state/doze-standby.html?hl=zh-cn

Android 6.0 “打盹儿”

进入条件

  设备未插接电源

  处于静止状态一段时间

  屏幕关闭

Android性能优化(八)电量优化_第3张图片

 

五、Standby

未主动使用应用、一段时间未触摸应用进入

 

以下情况不会进入:

  用户显式启动应用。

  应用当前有一个进程位于前台(表现为 Activity 或前台服务形式,或被另一 Activity 或前台服务占用)。

  应用生成用户可在锁屏或通知托盘中看到的通知。

 

通过运行以下命令强制应用进入应用待机模式:

  $ adb shell dumpsys battery unplug

  $ adb shell am set-inactive true

 

 

使用以下命令模拟唤醒应用:

  $ adb shell am set-inactive false

  $ adb shell am get-inactive

 

六、白名单

强制系统在低电耗模式之间循环切换:

  $ adb shell dumpsys battery unplug

  $ adb shell dumpsys deviceidle step


Android性能优化(八)电量优化_第4张图片

你可能感兴趣的:(Android性能优化)