Android性能优化检测工具TraceView的使用

Android软件性能分析是Android开发人员所必备的技能之一,在软件开发过程中,想必很多读者都遇到过系统性能问题。而解决系统性能问题的几个主要步骤是:

  • 测评:对系统进行大量有针对性的测试,以得到合适的测试数据。
  • 分析系统瓶颈:分析测试数据,找到其中的hotspot(热点,即bottleneck)。
  • 性能优化:对hotspot相关的代码进行优化。

本文主要讲如何使用TraceView性能测试工具。

Traceview简介

Traceview是Android平台特有的数据采集和分析工具,Traceview本身只是一个数据分析工具,而数据的采集则需要使用Android SDK中的Debug类或者利用DDMS工具。二者的用法如下:

  • 开发者在一些关键代码段开始前调用Android SDK中Debug类的startMethodTracing函数,并在关键代码段结束前调用stopMethodTracing函数。这两个函数运行过程中将采集运行时间内该应用所有线程(注意,只能是Java线程)的函数执行情况,并将采集数据保存到/mnt/sdcard/下的一个文件中。开发者然后需要利用SDK中的Traceview工具来分析这些数据。
  • 借助Android SDK中的DDMS工具。DDMS可采集系统中某个正在运行的进程的函数调用信息。对开发者而言,此方法适用于没有目标应用源代码的情况。

TraceView使用

主要讲解Android SDK中的DDMS工具

1.打开工具


Android性能优化检测工具TraceView的使用_第1张图片
打开工具.png
Android性能优化检测工具TraceView的使用_第2张图片
示例图.png

2.TraceView界面
Traceview界面比较复杂,其UI划分为上下两个面板,

  • Timeline Panel(时间线面板)
  • Profile Panel(分析面板)。

Timeline Panel又可细分为左右两个Pane:

Android性能优化检测工具TraceView的使用_第3张图片
Timeline .png
  • 左边Pane显示的是测试数据中所采集的线程信息。
  • 右边Pane所示为时间线,时间线上是每个线程测试时间段内所涉及的函数调用信息。

Profile Panel是Traceview的核心界面,其内涵非常丰富。

Android性能优化检测工具TraceView的使用_第4张图片
Paste_Image.png

对开发者而言,一定要了解Profile Panel中各列的含义。

Android性能优化检测工具TraceView的使用_第5张图片
各列的含义.png

3.如何利用Traceview来查找hotspot

  • 一类是调用次数不多,但每次调用却需要花费很长时间的函数。

选择按Cpu Time/Call进行降序排序(从上之下排列,每项的耗费时间由高到低)

  • 一类是那些自身占用时间不长,但调用却非常频繁的函数。

点击Call/Recur Calls/Total列,使之按降序排列。关注点放在那些调用频繁并且占用资源较多的函数。

你可能感兴趣的:(Android性能优化检测工具TraceView的使用)