使用BatteryHistorian分析和优化应用电量
来源:互联网 发布:郑州数控编程培训 编辑:程序博客网 时间:2024/06/03 17:15
欢迎Follow我的GitHub, 关注我的CSDN.
在Android项目中, 较难监控应用的电量消耗, 但是用户却非常关心手机的待机时间. 过度耗电的应用, 会遭到用户无情的卸载, 不要存在侥幸心理, 给竞品带来机会. 因此, 我们需要研究应用的耗电量, 并进行优化. 本文讲解一下Battery Historian, 是一款由Google提供的Android系统电量分析工具. 在网页中展示手机的电量消耗过程, 输入电量分析文件, 显示消耗情况. 最后提供一些电量优化的方法, 可供参考.
1. 安装Go
Battery Historian是Go语言开发, 需要安装Go编译环境.
下载Mac版的安装包, 执行完成, 检查Go版本
➜ ~ go versiongo version go1.6 darwin/amd64
在.bash_profile
中, 设置Go语言变量
#Go Settingsexport GOPATH=/Users/.../Workspace/GoWorkspaceexport GOBIN=/Users/.../Workspace/GoWorkspace/bin
GOPATH源码地址. GOBIN生成地址, 推荐$GOPATH/bin.
执行source .bash_profile
, 应用profile配置.
新建src文件夹, 添加HelloWorld文件hello.go
.
package mainimport "fmt"func main() { fmt.Printf("hello, world\n")}
安装hello.go
go install hello.go
执行
$GOBIN/hello
如果显示hello, world
, 即表示安装完成.
2. Battery Historian
在安装Battery Historian时, 需要提前安装wget.
sudo brew install wget
按照Battery Historian的GitHub文档执行操作即可.
go get -u github.com/golang/protobuf/protogo get -u github.com/golang/protobuf/protoc-gen-gogo get -u github.com/google/battery-historian/...cd $GOPATH/src/github.com/google/battery-historianbash setup.sh# 运行Go脚本, 默认端口9999 go run cmd/battery-historian/battery-historian.go [--port <default:9999>]
启动命令
cd $GOPATH/src/github.com/google/battery-historiango run cmd/battery-historian/battery-historian.go [--port <default:9999>]
在浏览器中, 输入http://localhost:9999/, 即可启动电量检测页面.
在启动页面时, 可能需要连接VPN, 访问Google信息.
3. 分析
获取手机的电量文件, 导出到根目录, 以备Battery Historian使用.
adb bugreport > bugreport.txt
使用Battery Historian的网页加载bugreport.txt文件.
如遇到一些问题, 重新提交bugreport.txt文件.
系统状态
应用状态(简书)
4. 电量优化
根据Battery Historian的电量提示信息, 消耗电量包含
唤醒锁\SyncManager同步管理器\音视频\流量.
优化方式:
(1) 检查全部唤醒锁, 是否存在冗余或者无用的位置.
(2) 集中相关的数据请求, 统一发送; 精简数据, 减少无用数据的传输.
(3) 分析和统计等非重要操作, 可以在电量充足或连接WIFI时进行, 参考JobScheduler.
(4) 精简冗余的服务(Service), 避免长时间执行耗电操作.
(5) 注意定位信息的获取, 使用后及时关闭.
电量优化并不是很难, 但需要对业务非常熟悉, 了解一些耗电操作的使用情况, 及时优化. 只有给用户精致的体验, 用户才能更加喜欢我们的应用, 这就是服务型社会的本质.
本文地址: http://blog.csdn.net/caroline_wendy/article/details/50769915
That’s all! Enjoy it!
- 使用BatteryHistorian分析和优化应用电量
- BatteryHistorian的使用
- 性能优化十四之电量分析工具Battery Historian使用
- 小谈Android应用的电量消耗和优化策略
- Android应用的电量消耗和优化的策略
- Android应用的电量消耗和优化的策略
- Android应用的电量消耗和优化的策略
- Android应用的电量消耗和优化的策略
- BatteryHistorian
- Android应用电量优化小结
- 电量优化
- 浅谈android网络和电量优化
- 性能优化之电量优化1-电量消耗的全过程分析
- 如何查看Android应用使用的电量
- Android中的隐藏API和Internal包的使用之获取应用电量排行
- Android中的隐藏API和Internal包的使用之获取应用电量排行
- 性能优化之电量优化2-使用Battery Historian生成电量消耗报告
- android应用的电量消耗与优化策略
- POJ 2654 Rock-Paper-Scissors Tournament(水~)
- C#中Abstract和Virtual
- 浅谈Andorid开发中的MVP模式
- 去掉vs中的console的黑窗口
- Ubuntu15.10的64位版本启动eclipse+adt时的若干问题
- 使用BatteryHistorian分析和优化应用电量
- 【leetcode】【40】Combination Sum II
- exec Function
- BottomSheets源码解析
- JVM学习笔记6—:java堆分析
- C中的->透析
- Android代码内存优化建议-Android官方篇
- R语言学习笔记之程序语言篇
- 解决mysql启动错误:Fatal error: mysql.user table is damaged. Please run mysql_upgrade.