• Android之traceview使用


    TraceView是什么

    Traceview是android平台配备一个很好的性能分析的工具。它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到method。

    Traceview的作用

    1. 查看跟踪代码的执行时间,分析哪些是耗时操作  

    2. 可以用于跟踪方法的调用,尤其是Android Framework层的方法调用关系

     

    Traceview的使用步骤

    分为以下三步:

    1. 选择追踪范围加入记录代码

    2.利用tools下的工具trace view打开.trace文件

    3.分析trace文件

    1. 选择追踪范围加入记录代码

    首先,必须在程序当中加入代码,以便生成trace文件,有了这个trace文件才可以将其转化为图形。

      要添加的代码如下:

    1 Debug.startMethodTracing();   //开始
    2 Debug.stopMethodTracing();  //结束

     其中参数wirelessqa是要创建的trace文件的名称,wirelessqa.trace。默认路径是/sdcard/wirelessqa.trace,也可以自己制定/data/log/wirelessqa,表示文件在/data/log/wirelessqa.trace。

    实例代码参考:

    publicclass MainActivity extends Activity {
    02
     
    03
        @Override
    04
        protectedvoid onCreate(Bundle savedInstanceState) {
    05
            super.onCreate(savedInstanceState);
    06
            setContentView(R.layout.activity_main);
    07
            setTitle(this.getClass().getName());
    08
            View toLoginView = findViewById(R.id.to_login);
    09
            // 开始记录 sdcard/wirelessqa.trace文件
    10
            Debug.startMethodTracing("wirelessqa");
    11
            toLoginView.setOnClickListener(new View.OnClickListener() {
    12
     
    13
                publicvoid onClick(View view) {
    14
                    Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
    15
                    startActivity(intent);
    16
                }
    17
            });
    18
        }
    19
         
    20
        @Override
    21
        protectedvoid onStop() {
    22
            super.onStop();
    23
            Debug.stopMethodTracing();// 结束记录wirelessqa.trace
    24
        }
    25
    }

    说明:

      开发文档中说可以在activity的onCreate()中添加Debug.startMethodTracing(), 而在onDestroy()中添加Debug.stopMethodTracing(),但是在实际的测试时发现这种方式其实并不好用,因为通常情况下我们的activity的onDestroy()是由系统决定何时调用的,因此可能等了很长时间都不会得到这个trace文件。

    因此决定在onStop()中来调用Debug.stopMethodTracing()。这样当我们切换到其它activity或者点击home键的时候onStop()就会被调用,我们也就可以得到完整的trace file。

     

    别忘了加入访问SD卡的权限

    1 <uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>   
    2 <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>  

    2.利用tools下的工具trace view打开.trace文件

    step

    3. 分析trace文件

    traceview

     
  • 相关阅读:
    字符输入流 FileReader
    字符输出流 FileWriter
    字节流复制文件
    字节输入流 FileInputStream
    彻底弄懂jsonp原理及实现方法
    这三个月,我如何一点点地成长(海康前端实习)
    前端chrome浏览器调试总结
    前端常见的布局方案大全
    总结4种常用排序(快排、选择排序、冒泡排序、插入排序)
    详解JS中DOM 元素的 attribute 和 property 属性
  • 原文地址:https://www.cnblogs.com/lee0oo0/p/3033305.html
Copyright © 2020-2023  润新知