一般常用的有:

1.腾讯的GT测试工具,使用方便,无需联网

什么是GT?

GT(随身调)是APP的随身调试平台,它是直接运行在手机上的“集成调试环境”(IDTE, Integrated Debug Environment)。

利用GT,仅凭一部手机,无需连接电脑,即可对APP进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash日志查看、网络数据包的抓取、APP内部参数的调试、真机代码耗时统计等。

如果您觉得GT提供的功能还不够满足您的需要,您还可以利用GT提供的基础API自行开发有特殊功能的GT插件,帮助您解决更加复杂的APP调试问题  ,有专门的APP测试讨论群


3.网易开发的 Android性能测试工具Emmagee

   具体使用可以参考这个博客地址:

1, 官方工具

一般来说, 学习一门新的技术, 最应该做的就是阅读其官方文档, 那是最权威的.
Android本身给我们提供了很多App性能测试和分析工具, 而且大部分都集成到Android Studio或DDMS中, 非常方便使用.

1.1 StrictMode

  • 说明
    顾名思义, "严格模式", 主要用来限制应用做一些不符合性能规范的事情. 一般用来检测主线程中的耗 时操作和阻塞. 开启StrictMode后, 如果线程中做一些诸如读写文件, 网络访问等操作, 将会在Log console输出一些警告, 警告信息包含Stack Trace来显示哪个地方出了问题.
  • 作用
  • 主要用来做主线程优化分析

1.2 Systrace

  • 说明
    Systrace是一个收集和检测时间信息的工具, 它能显示CPU和时间被消耗在哪儿了, 每个进程和线程都在其CPU时间片内做了什么事儿. 而且会指示哪个地方出了问题, 以及给出Fix建议.
    其以trace文件(html)的方式记录. 可以直接用Chrome浏览器打开查看. 界面如下:

Android性能监测 android性能测试工具_html

Systrace

  • 作用
  • 作用很多, 个人主要用来分析UI的绘制时间, 结合Hierarchy Viewer来提升UI性能.
  • 也可以用来发现耗时操作.

1.3 Hierarchy Viewer

  • 说明
    Hierarchy Viewer提供了一个可视化的界面来观测布局的层级, 让我们可以优化布局层级, 删除多余的不必要的View层级, 提升布局速度.

Android性能监测 android性能测试工具_html_02

Hierarchy Viewer

有必要说明下的是:
上图红框标出的三个点是关键分析数据. 左起依次代表View的Measure, Layout和Draw的性能. 另外颜色表示该View的该项时间指数, 分为:
* 绿色, 表示该View的此项性能比该View Tree中超过50%的View都要快.
* 黄色, 表示该View的此项性能比该View Tree中超过50%的View都要慢.
* 红色, 表示该View的此项性能是View Tree中最慢的.

  • 文档
  • 作用
  • 用来做View层级分析, 可以分析出View Tree中的性能阻塞点, 以便对症下药, 提升布局性能.

Hierarchy Viewer需要Root的机器(产品机没有开启ViewServer)才可以执行.
可以使用第三方的开源的ViewServer来协助我们在未Root的机器上使用Hierarchy Viewer分析.

1.4 TraceView

  • 说明
    一个图形化的工具, 用来展示和分析方法的执行时间.

Android性能监测 android性能测试工具_android_03

TraceView

  • 文档
  • 作用
  • 分析方法调用栈以及其执行时间, 优化方法执行.

1.5 Memory Monitor

  • 说明
    内存使用检测器, 可以实时检测当前Application的内存使用和释放等信息, 并以图形化界面展示.

Android性能监测 android性能测试工具_html_04

Memory Monitor

  • 文档
  • 作用
  • 用来做内存分析, 内存泄露排查的不二之选. 可以结合heap viewer, allocation tracker来分析.
  • 可以导出hprof文件结合第三方的MAT工具分析泄露点.

1.6 Other Monitor

  • 说明
    Android Studio的Monitor还提供了其他三个Motinor --- CPU, GPU, Network.
  • 文档
  • 作用
  • 分别用来跟踪监测CPU,GPU和Network的使用极其变化, 可以作为网络优化, 流量优化和渲染优化等的一个指导. (个人并不常用到~)

1.7 其他

Android的开发者模式中也提供了较多的用来监测性能的选项, 可以用下:

Android性能监测 android性能测试工具_html_05

Developer options

其他测试工具:

1 Google的Battery Historian

  • 说明
    Google出品, 通过Android系统的bugreport文件来做电量使用分析的工具.
  • 文档
  • 作用
  • 用来做电量使用分析.

2 网易的

  • 说明
    针对Android App的CPU, 内存, 网络, 电量等多项综合的测试分析.
  • 文档
  • 作用
  • 比官方工具更适合国人使用来做App的整体性能分析.

3 Square

  • 说明
    Square出品, 必属精品.
    类似与App探针的内存泄露监测工具.
  • 文档
  • 作用
  • 集成到App中, 用来做内存问题预防最好不过了.

4 AndroidDevMetrics

  • 说明
    一个library, 用来检测Activity生命周期执行性能, Dagger2注入性能以及帧率性能的工具.
  • 文档
  • 作用
  • 如果你的应用使用的Dagger2, 这个就比较必要了.