Android性能优化之Battery-Historian(一)

2024-02-26 11:08

本文主要是介绍Android性能优化之Battery-Historian(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在APP开发到一定阶段后,电量优化就是一个不得不面临的问题,追踪和分APP的电量使用情况使我们解决这个问题的必经之路;现在虽然有很多电量分析软件,但我们在此篇选择Google官方在Google I/O 15 中发布的 Battery Historian 新版本 Battery Historian 2.0 电量分析工具;我们先来看下Battery Historian 2.0 在Windows环境下的搭建过程(虽然Google在Github上已经说明的安装过程,但是实际安装过程中可能也会有所不同)。

步骤:

1、新版的Battery Historian是使用Go语言编写的,所以我们需要先安装Go开发环境 ,下载地址http://golang.org/doc/install ,我选择的是go1.6.3.windows-amd64.msi版本,之所以使用msi版,是安装方便,默认会帮我们配置好环境变量;

注:安装过程中,可以让我们自己选择安装目录,建议不要更换,使用默认的“C:\Go”就好,我尝试改过,发现虽然环境变量里的配置也是我改过的路径,但是,在cmd下还是无法直接使用go命令,原因不知;

最后确认一下环境变量GOROOT为C:\Go\,在Path中增加了项C:\Go\bin。



然后打开一个新的命令窗口,敲入go help,如下则说明go环境已正常;


然后配置Go的工作目录,我在D盘下新建了D:\Go\workspace\目录作为工作目录;

在命令窗口敲入命令:

C:\Go\bin>set GOPATH=D:\Go\workspace
为了检测Go环境是否能够正常编译运行,可以参照Go官方的指导:

在workspace目录下新建 src/github.com/user/hello目录,如果有自己的GitHub账户,可以将user换成自己账户的名称;然后再在hello文件加下创建hello.go文件,并写入下面的代码:

package mainimport "fmt"func main() {fmt.Printf("hello, world\n")
}

然后在命令窗口敲入如下命令:

C:\> go install github.com/user/hello

再执行命令:

C:\> %GOPATH%\bin\hello

会在窗口中打印出:

hello, world
说明我们Go环境一切都ok了;



2、如果没有Git,去安装Git;安装过程就不赘述了,最后要确保在环境变量Path中添加了Git的安装目录如下:


3、安装Python2.7(不是Python3.X),下载Python;安装过程比较简单,一路默认就行了,最后将Python的安装目录配置到环境变量path中,如下:



4、安装Java环境,安装和配置过程就不多说了,开发Android的电脑都已经装了;下载JavaSE;

5、上面一切就绪之后,就可以开始正式导入和使用Battery Historian项目了;

首先将项目clone到go的工作目录:

C:\Go\bin>go get -d -u github.com/google/battery-historian/...
项目导入后,在命令窗口,将当前目录切换到目录\workspace\src\github.com\google\battery-historian,如下:



然后输入命令:

go run setup.go

这个过程要慢些,需要下载一下项目依赖的第三方包;

等完成后输入命令:

go run cmd\battery-historian\battery-historian.go


出现如上图变运行成功,项目服务默认监听9999端口;

然后我在浏览器中输入http://localhost:9999/便可出现如下界面:


截至目前位置,Battery Historian项目算是跑起来了,下篇再来探讨怎么使用;

这篇关于Android性能优化之Battery-Historian(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/748654

相关文章

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

小白也能轻松上手! 路由器设置优化指南

《小白也能轻松上手!路由器设置优化指南》在日常生活中,我们常常会遇到WiFi网速慢的问题,这主要受到三个方面的影响,首要原因是WiFi产品的配置优化不合理,其次是硬件性能的不足,以及宽带线路本身的质... 在数字化时代,网络已成为生活必需品,追剧、游戏、办公、学习都离不开稳定高速的网络。但很多人面对新路由器

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查