Android性能调优工具之 TraceView

    从1月份Google发布的16个关于性能优化的系列视频起,这段时间在各大社区都有看到很多优秀的关于优化系列的文章。有分析了性能产生的原因、有分享如何优化我们的应用、有介绍有哪些工具可以帮助我们检测性能问题。


    其中 在关于一些系统性能调优工具里有介绍到工具之一:TraceView 

    TraceView 是 Android 平台配备一个很好的性能分析的工具。它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到某个函数方法method的执行耗时时间。

    因为小吕之前确实没有使用过该工具、所以这两天也自己试玩了一把、将该工具的简单使用操作做个简单的图文介绍。也希望在以后的工作当中要重视该工具的使用、利用好该工具。


一、如何使用该工具 采集数据
  1、第一种使用方式
     ① 在你需要调式的代码片段首尾分别添加代码

Debug.startMethodTracing("traceView");  
Debug.stopMethodTracing();
     如 我们想要对MainActivity的onCreate() 和 onDestory() 方法之间做跟踪,代码可如下:
public class MainActivity extends Activity {  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        /*
         * 将在SD卡根目录生成数据性能采集文件 traceView.trace
         * 注意:
         *     1、一定要在有SD卡的调试手机或模拟器上使用
         *     2、添加SD卡访问读写权限:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
         */
        Debug.startMethodTracing("traceView");
    }  
  
    @Override  
    protected void onStart() {  
        super.onStart();         
        Debug.stopMethodTracing();  
    }  
      
} <span style="font-family: 'Comic Sans MS'; background-color: rgb(255, 255, 255);"> </span>
    ②、当程序运行过上面的代码之后 便会在你的手机或模拟器的SD卡根目录生成文件 traceView.trace, 如下图:
              
    ③、在正式使用traceview工具分析数据前,我们使用adb命令将SD卡根目录下的traceView.trace文件导出到我们的本地电脑中,adb命令如下:
        
        如上命令 我将.trace文件导出在我的电脑C:\tmp下 如图:
        
    ④、在{sdk}/tools/目录下 找到我们的工具traceview.bat、双击运行他吧, 会有如下显示:
        
        提示我们使用 Android Device Monitor<tools/monitor> 。  

    ⑤、但是我们执行如下命令: traceview xxx.trace, 使用traceview去访问执行.trace文件
        
        一伙出现效果如下:        
        
        根据之前命令的提示:
        这里我们也可以使用执行Android Device Monitor<tools/monitor>工具 出现如下界面

        在该界面中 我们可以通过 file--> open file 打开之前导出的.trace文件,这时将会看到同样的效果:

        到此 我们便完成了数据的采集与使用traceview工具将数据做了图形化展示


  2、第二种使用方式
     相对第一种方式 这种要简单很多
     通过选择 Devices 中的应用后点击按钮 Start Method Profiling(开启方法分析)和点击 Stop Method Profiling(停止方法分析) 如图:
 
     当停止采集时,DDMS会自动触发Traceview工具来浏览采集数据


二、如何使用该工具 分析数据
     当看到图形化的trace数据后、我们要知道如何看懂上面的数据、以做出正确的分析、最后在分析中查找性能上的问题、最终从代码上解决问题。

     这部分主要包括:
        1、TraceView工具面板的掌握,分析面板每列待办的含义 如:Name、 Incl Cpu Time、 Excl Cpu Time、 Incl Real Time等。

        
        2、如何去定位分析我们要监视的具体方法(通过TraceView底部的find来查找)。
        3、如何去定位那些耗时(导致性能问题)的方法
(筛选出方法耗时排行的时间 如:Incl Cpu Time列、Cpu Time/Call列)。

        4、最后根据找出性能上有缺陷的具体方法、去做代码上的优化。

      这里的内容远远超过上面关于 工具数据采集的使用介绍,小吕也刚好在网上有收集到两篇优秀的关于TraceView工具的使用介绍:
      1、Android系统性能调优工具介绍:http://blog.csdn.net/innost/article/details/9008691
      2、Android编程下的TraceView简介及其案例实战:http://www.cnblogs.com/sunzn/p/3192231.html


三、其他
   关于Android的调优工具除了TraceView外、还有Overdraw,Systrace,StrictMode,Hierarchy Viewer等。

   英文能力不错的就上Google官网吧:http://developer.android.com/tools/debugging/debugging-tracing.html



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值