Android性能优化四 电量优化

450 阅读2分钟

电量优化

  1. 减少操作: 减少网络操作
  2. 推迟操作: 应用操作延迟执行 可以等到充电后或者wifi连接时在将数据备份到云端
  3. 合并操作: 合并多个网络请求.

Doze低电耗模式

在未充电,屏幕熄灭,设备一段时间不活动 延迟应用后台cpu和网络活动,从而降低耗电量

Doze系统会定期退出打盹一小段时间,让应用完成其延迟的活动

在低耗电模式下

FireBase只能在google原生手机上使用

如何进入 Doze

StandBy待机模式

应用待机模式会延迟用户近期未与之交互的应用的后台网络活动。

当用户有一段时间未触摸应用并且应用没有以下表现,则Android系统就会使应用进入空闲状态

  • 用户明确启动应用
  • 应用当前有一个进程正在前台运行(作为活动或前台服务)
  • 应用生成用户可在锁定屏幕或通知栏中看到通知。

白名单

系统提供了一个可配置的白名单,在低耗电模式和应用待机模式期间,列入白名单的应用可以使用网络并保留部分唤醒功能

使用如下代码就可以。

充电状态:

为了减少电量消耗,我们可以通过检查电池状态以及电量来判断是否进行某些操作,比如在充电的时候上报crash日志。 注意在Android 8.0以上 静态广播就没有作用了。 只能使用动态广播。

日志系统 记录的日志数据 进行日志上报 Logcan

WorkManager

AndroidX 后台调度API整合的替换组件

其实最好使用厂商推送

Battery Historian

用来了解设备随时间的耗电情况的工具

Battery Historian 可以帮助我们查看应用是否有以下耗电行为:

  • 过于频繁地触发唤醒提醒

Energy Profiler

如果使用8.0以上的手机可以使用Energy Profiler可以了解应用在哪里耗用了不必要的电量

网络优化

DNS优化 使用httpsdns 来防止dns劫持。

连接优化 使用http1.1