文档章节

Android性能分析工具整理汇总

warehouse
 warehouse
发布于 2016/03/04 09:36
字数 1748
阅读 36
收藏 0
点赞 1
评论 0

Debug GPU Overdraw

类型:系统自带功能UI渲染检测功能(打开Settings,然后到 Developer Options -> Debug GPU Overdraw 选择 Show overdraw areas,手机系统设置中文的孩纸,自行对照翻译进去哈)
作用:用来检测UI的重绘次数,开发者可以用来优化UI的性能。
使用心得:检测UI性能的利器,对于开发者做UI优化的帮助挺大的。因为大量的重绘容易让app造成卡顿或者直接导致丢帧的现象。开发者熟悉View的绘制原理可以结合对一些布局或者自定义控件做相应的优化。诸如:在ListView或GridView里面的item使用layout_weight设置就会造成多余重绘。其他情况还有很多,不一一例举。至于怎么用,可以自行Google

Profile GPU Rendering

类型:系统自带功能UI渲染检测功能(打开Settings,然后到 Developer Options -> Profile GPU Rendering. 选择 On screen as bars )
作用:用来检测UI绘制帧的速率和耗时,同样开发者可以用来优化UI的性能。
使用心得:跟Debug GPU Overdraw功能类似,但它反应的是UI绘制帧的速率,同样可以用来检测自己的app是否丢帧或者绘制过度,具体操作可以自行Google

Hierarchy Viewer

类型:SDK自带工具(打开Settings,然后到 Developer Options -> Profile GPU Rendering. 选择 On screen as bars )
作用:检测UI渲染用的
使用心得:老牌工具了,Google一下

Memory Monitor、Heap Viewer、Allocation Tracker

类型:AndroidStudio自带的工具
作用:均是内存检测分析的工具
使用心得:不用多说,大家懂的...

Memory Analyzer Tool (MAT)

类型:ADT时代的插件,也有独立的MAT版本
作用:内存详尽分析的神器啊!
使用心得:它是我在ADT下唯一的美好回忆啊,AS现在的工具就差它了,希望快点跟上。为了隆重介绍我的挚爱,果断献上它的官方文档:http://help.eclipse.org/mars/index.jsp

Traceview、Systrace

类型:SDK自带
作用:CPU使用分析的工具
使用心得:排除CPU性能瓶颈的利器,TraceView能让我知道个个函数调用的CPU耗时,以及总CPU耗时等,方便排查优化。Systrace能够让我了解各个AP子模块的使用情况,同样利于瓶颈排查,性能优化工作等,总之,很赞就是了。

Battery Historian

类型:独立开源软件 (Google IO大会上的推荐的工具)
作用:耗电分析工具
使用心得:在耗电分析上Google亲自推的东西自然不用说,Battery Historian 1.0的基本使用在网上挺多,可以自行查看。2.0的功能更加perfect,但是国内资料少,国外的资料算还可以,so,翻墙吧,骚年!使用 Battery Historian 需要注意两点,一是它只对5.x及其以上的系统生效,二是搭建环境的时候注意要使用Python2.x的,不要使用Python3.x。因为两个版本的语法变法很大,Python 3.x下Battery Historian会报错。最后,这个是开源项目 https://github.com/google/battery-historian

-----------------------------------分割线-----------------------------------

上面主要都是官方的工具,下面是一些第三方apk工具...

WakeLock Detector

功能简介:对手机的运行状态进行探测记录,能统计那些应用触发了CPU运行消耗cpu,那些应用触发了屏幕点亮。同时还可以对运行时间进行统计,可以查看应用内使用细节。

使用心得:之前做了一款app被用户投诉耗电太快。偶然发现了它,拿做电量损耗检测。同时,它也能够统计其他安装在手机上的app的电量消耗,方便做出对比,向顶级体验的应用看齐。

使用前提:手机需要root,该app需要获取root权限

GSam Battery Monitor

功能简介:检测手机电池电量的消耗去向,能够用折线图进行统计展示。

使用心得:不错的产品,能够计算出你的电量被手机的哪部分功能所消耗的,可以追溯到这部分功能是哪些app在使用,从而定位到手机耗电过快的元凶。

使用前提:手机需要root,该app需要获取root权限

Trepn Profiler

功能简介:高通出品的,杠杠的赞啊!分析检测手机CPU的消耗,而且能够分析特地的分析某个app。

使用心得:用来调试分析自己的app,实时的用折线图展示了app对CPU的消费情况,赞赞赞。

使用前提:手机需要root,该app需要获取root权限,且只支持手机的CPU是高通的。

Root Explorer

功能简介:一款文件浏览器,可以查看app没有加密过的数据库,读取里面的数据,且支持简单的条件查询。

使用心得:在开发的时候,需要确认是否成功把数据插入数据库,有了它就可以直接打开database文件浏览查找了。

使用前提:手机需要root,该app需要获取root权限

-----------------------------------分割线-----------------------------------

除了上面这些apk工具外,最后是一些知名IT公司开发的工具(包含SDK),很好用...

Bugly

揪BUG、揪ANR的SDK。腾讯出品的东东,杠杠的。对发布出去的产品你想准确定位各种闪退的BUG,用它准行。而且bugly的更新频率还挺快的,大公司的效率真是任性(只能说鹅厂越来越会用技术赚钱了~

官网地址http://bugly.qq.com/

BugTags

官网说的:测试,从未如此简单!新一代的、专为移动测试而生的缺陷发现及管理工具。个人觉得很不错,同样推荐!

官网地址https://bugtags.com/

GT

这款神器,可能并不多人知道(我猜的)。腾讯MIG专项测试组开发出来的狂拽酷炫屌炸天的神器,只要多神,不多说了,直接进去官网看吧,我已泪奔(腾讯的技术真心叼)

官网地址http://gt.tencent.com/index.html

iTest

科大讯飞出品的测试工具,直接安装使用。是一款服务于Android测试人员的专业手机自动化性能监控工具。

官网地址http://itest.iflytesting.com/?p=1

Emmagee

网易出品的测试工具,和iTest差不多,最大的好处在于,能够对应用的常用性能指标进行检测,并以csv的格式保存方便查看应用的各项参数。测试结果看起来更加直观,还有很重要一点是,它开源!!!!

官网地址https://github.com/NetEase/Emmagee

待续...

目前大体就这些了,后续有更好的工具也会接着更新,有些工具过时失效了,也会在这里移除...

文章同步归档到此:https://github.com/D-clock/Doc


本文转载自:http://www.jianshu.com/users/ec95b5891948/latest_articles

共有 人打赏支持
warehouse
粉丝 0
博文 20
码字总数 617
作品 0
朝阳
最强最全干货分享:Android开发书籍、教程、工具等

最全干货分享,本文收集整理了Android开发所需的书籍、教程、工具、资讯和周刊各种资源,它们能让你在Android开发之旅的各个阶段都受益。 入门 《Learning Android(中文版)》 本书为Andro...

拉偶有所依
2015/01/09
0
1
Android性能优化:这是一份详细的布局优化 指南(含、、)

前言 在 开发中,性能优化策略十分重要 本文主要讲解性能优化中的布局优化,希望你们会喜欢。 目录 /** 实例说明:在上述例子,在布局B中 通过标签引用布局C 此时:布局层级为 = RelativeLa...

Carson_Ho
05/14
0
0
Android性能分析工具简介

在Android项目开发工程中,功能开发只是其中的一部分,更多的时候是优化,优化除了个人的良好习惯,往往还需要借助第三方工具。本文罗列Android优化过程中的一些常用工具借助这些工具,可以很...

code_xzh
05/02
0
0
【掘金小报】 第十五期 用 slack 和 hubot 搭建你自己的运维机器人

掘金小报主打分享优质深度技术内容,技术内容分:前端、后端、Android、iOS、产品设计、工具资源和一些有趣的东西。 与标题相关文章为最后一篇文章。 【译】带你入门 CSS Grid 布局 三月中旬...

膜法小编
2017/05/16
0
0
给android应用开发者的十个建议

随着移动平台的发展和其应用的不断改善,质量成为决定成败的关键。用户要求他们选择安装的应用响应快、性能好,如果某个应用不能提供卓越的功能和稳定的用户体验,那这样的应用注定会被很快卸...

齐天大黄牛
2012/09/05
0
0
obad病毒整理汇总(最复杂精致的android病毒)

起源 该样本起源于一篇卡巴斯基实验室的报告1,被誉为最复杂精致的android病毒。 特点 1、AndroidManifest使用非常规方法构造。 左为obad的AndroidManifest,右为普通的AndroidMainifest。 ...

VinceXie
2013/12/05
0
0
开发者必知:提升Android应用开发性能的十大要点

随着任何一个移动平台不断发展、围绕它的应用程序不断改进,要想开发成功,质量变得至关重要。如今,用户们要求他们决定安装到自己设备上的Android应用程序反应迅即、性能合理。如果那些应用...

冯京宝
2012/07/05
0
0
Android性能优化:那些不可忽略的绘制优化

前言 在 开发中,性能优化策略十分重要 本文主要讲解性能优化中的绘制优化,希望你们会喜欢。 目录 // 方式2:在 BaseActivity 的 onCreate() 方法中使用下面的代码移除 优化方案2:移除 控件...

Carson_Ho
05/21
0
0
自行修改android.jar使其包含隐藏api

在开发中时常会遇到要用到android隐藏api的情况,通常的做法是通过反射去调用,但是反射带来性能上的影响,代码也不够直观,我更偏爱直接使用那些api。 于是这就是本文的开始,自己改造一个a...

fjabing
2014/10/05
0
0
使用layoutopt进行布局优化

创建好看的Android布局是个不小的挑战,当你花了数小时调整好它们适应多种设备后,你通常不想再重新调整,但笨重的嵌套布局效率往往非常低下,幸运的是,在Android SDK中有一个工具可以帮助你...

小克898
2013/03/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

并发设计之A系统调用B系统

A-->B A在发送请求之前,用乐观锁,减少对B的重复调用,这样一定程度上是幂等性。 比如A系统支付功能,要调用B系统进行支付操作,但是前端对"支付"按钮不进行控制,即用户会不断多次点击支付...

汉斯-冯-拉特
17分钟前
0
0
HTTP协议通信原理

了解HTTP HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务。 HTTP使用...

寰宇01
40分钟前
0
0
【Java动态性】之反射机制

一、Java反射机制简介

谢余峰
40分钟前
1
0
Centos 6.X 部署环境搭建

1.Linux学习笔记CentOS 6.5(一)--CentOS 6.5安装过程

IT追寻者
53分钟前
0
0
博客即同步至腾讯云+社区声明

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=8vy9bsmadbko...

xiaoge2016
56分钟前
0
0
大数据教程(3.1):Linux系统搭建网络YUM源服务器

博主在前面的2.5章节讲述了linux系统本地YUM服务器的搭建和httpd轻量级静态网站服务器的安装,本节博主将为大家分享内网环境中搭建自己的网络YUM服务器的全过程。如果大家对本地YUM服务器还不...

em_aaron
今天
0
0
蚂蚁技术专家:一篇文章带你学习分布式事务

小蚂蚁说: 分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在这几年越来越火的微服务架构中,几乎可以说是无法避免,本文就围绕分布式事务...

Java大蜗牛
今天
1
0
新的Steam应用将拓展服务项目

导读 未来几周,Steam将推出两个免费的应用程序Steam Link和Steam Video。这两个应用程序都旨在拓展Steam平台的业务和便利性。 即将开放的Steam Link应用程序最先提供了Android测试版,它将允...

问题终结者
今天
0
0
golang 第三方包的使用总结

golang 第三方包的安装的方法: 1. go get 安装 $ go get github.com/gin-gonic/gin 注意:执行go get 命令需要先安装git命令,并配置git全局变量。 2. 源码包安装 由于国内网络问题,很多时...

科陆李明
今天
1
0
Android Studio调试运行时ADB not responding

最近有我朋友问我一个android studio的调试运行问题,我记得以前也是遇到过得,所以 来写一下 ADB not responding.If you'd like to retry, then please manually kill "adb.exe" and click...

切切歆语
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部