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

相关文章

SpringBoot首笔交易慢问题排查与优化方案

《SpringBoot首笔交易慢问题排查与优化方案》在我们的微服务项目中,遇到这样的问题:应用启动后,第一笔交易响应耗时高达4、5秒,而后续请求均能在毫秒级完成,这不仅触发监控告警,也极大影响了用户体... 目录问题背景排查步骤1. 日志分析2. 性能工具定位优化方案:提前预热各种资源1. Flowable

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Android中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现