5 . 选择不同的应用进程对应的报告 : 点击 App Selection 可以选择不同的应用 , 进行分析 ;
三、Battery Historian 电量分析报告
1 . 电量分析报告 :
① 报告内容 : 该报告中分析的是整个系统的各个硬件模块的耗电量 , 不是针对某一个应用的报告 ;
② 起始时间 : 从调用 adb shell dumpsys batterystats --reset 方法重置电池状态开始 ;
③ 终止时间 : 到调用 adb bugreport bugreport.zip 导出电量报告结束 ;
2 . 报告中的各项指标 :
Reboot : 重启 ;
CPU running : CPU 运行耗电量 ; 这个一般是一直再运行耗电的 , 无法分析出是哪个 APP 消耗了多少 CPU ;
Userspace wakelock ( all ) : 用户拿到 wakelock , 保持屏幕不息屏的状态 ;
Screen : 屏幕耗电 , 没有耗电的状态 , 说明屏幕处于息屏状态 , 有耗电 , 说明屏幕处于唤醒状态 ;
Plugged : 是否处于充电状态 ;
黑色的线 : 表示电量值 , 0 ~ 100% , 使用时一直在掉 , 充电时 , 一直在提高 ;
Battery Level : 每消耗 1% 的电量 , 提示一次 ; 可以判断每 1% 的电量使用了多长时间 ;
3 . 查看指定应用的耗电量 : 在 App Selection 中选择对应的应用进程 ID , 可以查看指定应用的电量消耗 ;
四、电量优化三原则
电量优化三原则 :
① 减少操作 : 减少后台处理的次数 , 减少多于操作 ; 如下载数据时 , 如果有缓存数据 , 使用缓存数据 , 尽量少启用 WIFI 或 5G 模块 , 蓝牙连接时 , 记住蓝牙地址 , 尝试直接连接这个蓝牙 , 不要每次都启动蓝牙搜索 , 该操作功耗巨大 ;
② 推迟操作 : 有些操作是否可以在充电时完成 , 如软件更新 , 数据备份云端等 , 获取最新版本号 , 缓存云端数据 , 尽量都在插着数据线时进行 ; 能充电时执行就在充电时执行 , 能在 WIFI 执行 , 就不再 5G 情况下执行 ;
③ 合并操作 : 将启用硬件设备模块的操作 , 集中执行 , 如获取位置 , 上传下载 , 一次启动硬件模块 , 密集执行多个任务 , 不要隔一段时间唤醒一次 , 只执行单个工作 ;
五、电量优化注意事项
电量优化注意事项 :
① Wakelock 尽量少的使用 , 使用 JobScheduler / Alarm 替代前者 ;
② 硬件及时释放 : 对于硬件设备的调用请求 , 使用完毕后及时关闭 , 如 GPS , 蓝牙 , WIFI 等模块 , 不要长时间处于激活状态 , 用完就关闭释放 ;
③ 任务执行环境优先级 : 某些不是很着急的任务 , 尽量在充电状态下执行 , 充电 > 不充电 , WIFI > 2G/3G/4G/5G ;