android中的电量优化建议以及Battery Histori
这篇文章主要是探讨android app的电量使用优化,以及电量使用分析工具battery-historian在windows下的安装与使用。
尽量减少电量消耗在android开发中是一个非常的重要优化点,它会让app更可能的留住用户,而不是因为app消耗电量比较多使得用户卸载app。
以下是一些建议
- 尽可能的减少网络请求:缓存用户请求的数据,在下一次用到的时候首先从缓存中读取数据,而不是再次请求网络。
- 尽量减少唤醒系统的次数 例如通知来的时候就会唤醒系统并点亮屏幕。
- 小心谨慎的使用AlarmManager AlarmManager错误的使用方式会让电量很快消耗完。
- 尽量批处理网络请求 尽量把能合并的网络请求合并到一个请求中,因为网络请求线程会让cpu保持唤醒状态,在网络请求结束后也会等待15s?才会进入空闲状态。
- wifi连接和手机数据连接使用不同的策略 因为手机数据连接的环境很有可能不稳定,导致网络请求多次重新请求的状况发生。
- 检查所有的后台进程
- 小心的使用GPS
- 使用JobScheduler
使用什么工具来分析电量的使用情况?
Battery Historian是一个使用html表格形式来展示手机电量使用情况的工具。
windows10的安装
安装Docker.
在windows10下安装可能会报错,查看系统是否是家庭版的, 家庭版的不支持,需要更新系统。
安装好后在cmd输入 docker version
如下图所示则安装成功
启动镜像
注意:battery-historian githubreadme文件中的这个源gcr.io/android-battery-historian/stable:3.0用不了
我是使用这个源。cmd中使用命令docker run -d -p 9999:9999 bhaavan/battery-historian
加载启动镜像。如下图所示
打开浏览器,输入地址localhost:9999
回车,如下图所示:
电脑连接手机,打开调试模式,打开androidstudio,打开terminal,输入(前提是已经配置环境变量,否则切换到adb.exe目录下输入命令)adb bugreport bugreport.zip
,然后就在路径C:\Users\Administrator\Documents\AndroidStudio\DeviceExplorer\huawei-mha_al00-3HX7N17123004326下生成了相应文件。
回到浏览器,导入生成的zip文件,打开后如下图所示:
然后我们就可以仔细查看电量的使用情况了,可以分app查看,分时间段查看等多个维度进行分析。
我们可以从中获知以下信息:
- cpu运行时间
- 屏幕点亮时间
- 手机音频状态
- 手机数据连接情况
- wifi浏览和连接信息
- 系统唤醒情况
- JobScheduler的运行情况
- app使用camera的情况
- app使用gps的情况
等等,几乎所有影响电量的活动都可以查看得到。
如果该篇文章有任何问题,希望您能在百忙之中指出并联系我nanhuaqq@gmail.com