为了便于阅读, 应邀将Android App性能优化系列, 转移到掘金原创上来.
掘金的新出的"收藏集"功能能够用来作系列文集了.html
第一篇 App性能测试和分析工具.android
先上个图:git
本文暂不对工具的使用作过多的深刻.
在后续的具体实例中会具体说明怎么用这些工具来达成分析目的和解决问题的.github
通常来讲, 学习一门新的技术, 最应该作的就是阅读其官方文档, 那是最权威的.
Android自己给咱们提供了不少App性能测试和分析工具, 并且大部分都集成到Android Studio或DDMS中, 很是方便使用.浏览器
说明
顾名思义, "严格模式", 主要用来限制应用作一些不符合性能规范的事情. 通常用来检测主线程中的耗 时操做和阻塞. 开启StrictMode后, 若是线程中作一些诸如读写文件, 网络访问等操做, 将会在Log console输出一些警告, 警告信息包含Stack Trace来显示哪一个地方出了问题.性能优化
文档网络
做用eclipse
说明
Systrace是一个收集和检测时间信息的工具, 它能显示CPU和时间被消耗在哪儿了, 每一个进程和线程都在其CPU时间片内作了什么事儿. 并且会指示哪一个地方出了问题, 以及给出Fix建议.
其以trace文件(html)的方式记录. 能够直接用Chrome浏览器打开查看. 界面以下:
工具
文档布局
做用
说明
Hierarchy Viewer提供了一个可视化的界面来观测布局的层级, 让咱们能够优化布局层级, 删除多余的没必要要的View层级, 提高布局速度.
有必要说明下的是:
上图红框标出的三个点是关键分析数据. 左起依次表明View的Measure, Layout和Draw的性能. 另外颜色表示该View的该项时间指数, 分为:
文档
做用
Hierarchy Viewer须要Root的机器(产品机没有开启ViewServer)才能够执行.
能够使用第三方的开源的ViewServer来协助咱们在未Root的机器上使用Hierarchy Viewer分析.
说明
一个图形化的工具, 用来展现和分析方法的执行时间.
文档
做用
说明
内存使用检测器, 能够实时检测当前Application的内存使用和释放等信息, 并以图形化界面展现.
文档
做用
说明
Android Studio的Monitor还提供了其余三个Motinor --- CPU, GPU, Network.
文档
做用
Android的开发者模式中也提供了较多的用来监测性能的选项, 能够用下:
如下工具所有开源, 开源万岁...
说明
Google出品, 经过Android系统的bugreport文件来作电量使用分析的工具.
文档
做用
说明
针对Android App的CPU, 内存, 网络, 电量等多项综合的测试分析.
文档
做用
说明
Square出品, 必属精品.
相似与App探针的内存泄露监测工具.
文档
做用
说明
一个library, 用来检测Activity生命周期执行性能, Dagger2注入性能以及帧率性能的工具.
文档
做用
MAT没有侧重的提, 是由于这个工具在ADT时代比较经常使用, AS2.0以后, 自己的Memory Monitor愈来愈强大, 结合日益完善的第三方工具基本上能够完成内存方面的优化了.
欢迎你们分享本身经常使用的App性能分析工具, 共同窗习~