文章目录

  • 一、Battery Historian 环境要求
  • 二、上传电量报告
  • 三、Battery Historian 电量分析报告
  • 四、电量优化三原则
  • 五、电量优化注意事项



参考 Google 官方文档 : 优化电池续航时间





一、Battery Historian 环境要求



在 【Android 电量优化】电量优化 ( 耗电量测试 | Battery Historian 简介 | apt 源更新 | Docker 安装 | Battery Historian 安装 ) 博客中主要进行了 VMWare 虚拟机环境下 Ubuntu 18.04.4 系统中安装 Battery Historian ;

在 【Android 电量优化】电量优化 ( 获取电量分析报告 | 阿里云服务器搭建 Battery Historian | 上传并生成分析报告 ) 博客中 , 讲解了在阿里云服务器上搭建 Battery Historian , 并在本地导出手机的电量报告 , 使用该工具分析电量时 , 每一步操作响应都很慢 ;


在之前使用 Battery Historian 时 , 搭建好环境之后 , 访问很慢 , 找了半天原因 , 发现使用 Battery Historian 必须 , 否则基本无法使用该工具进行电量分析 , 卡了半天 ; 既然的话 , 那么服务器和本地都吧 ;



这里给出最佳实践 : 必须 ; 之前访问巨慢 , 发现是没有的原因 ;


① 服务器可 : 在阿里云香港服务器上搭建 Battery Historian ;

② 本地电脑 : 本地访问 http://8.210.151.183:9999/ 地址 , 必须 , 否则无法使用 ;





二、上传电量报告



必须才能正常使用 , 否则这里点击 Browse , 选择文件后 , 没有任何响应 ;


1 . 选择文件并上传 : 访问 http://8.210.151.183:9999/ 地址 , 点击页面中的 Browse 按钮 , 从本地磁盘中选择 bugreport.txt 或 bugreport.zip 文件 , 选择完毕后 , 点击右侧的 Submit 按钮 , 提交上传 ;


2 . 等待上传完成 : 等待上传完毕 , 这个上传的比较慢 , 大概几分钟吧 ;


3 . 分析阶段 : 这个分析阶段很短 , 半分钟左右 ;


4 . 查看生成的报告 : 在下面的图标中可以分析出每个硬件设备的激活时间 , 及耗电量 ;


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 ;

更多相关文章

  1. Android蓝牙开发
  2. android八种通信方式
  3. Android性能调优工具TraceView介绍
  4. Android(安卓)1.0将不支持开发蓝牙和Gtalk应用
  5. 性能优化工具
  6. ListView的优化就这么多了
  7. Android(安卓)知识体系
  8. android图片优化,内存释放处理
  9. Android蓝牙开发浅析

随机推荐

  1. ubuntu下编译Android出现的问题
  2. android raw读取超过1M文件的方法
  3. 退出Activity时,保存edittext的内容
  4. 连续多版本android发布器
  5. Android Preference Summary中实时显示内
  6. Android利用canvas画各种图形(点、直线、
  7. TextView实现多行本文滚动
  8. android 杀死进程的三种方法
  9. Android Zxing 转换竖屏扫描且提高识别率
  10. 关于Android的模拟器不能正常启动的解决