码迷,mamicode.com
首页 > 移动开发 > 详细

Android性能调优工具之 TraceView

时间:2015-02-06 00:47:11      阅读:292      评论:0      收藏:0      [点我收藏+]

标签: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



Android性能调优工具之 TraceView

标签:traceview   调优工具   

原文地址:http://blog.csdn.net/janice0529/article/details/43540441

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!