• 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

     
  • 相关阅读:
    应对IBM V7000磁盘故障,你只差这一步!
    鬼知道我经历了什么;记阵列RAID信息丢失的恢复过程
    遇到U盘无法打开,属性显示0字节这样的问题?数据该如何导出?
    2、【Linux网络编程】socket中sockaddr、sockaddr_in和in_addr的区别
    1、【Linux网络编程】socket
    9、wxWidgets 组件wxListBox wxNotebook wxScrolledWindow
    8、wxWidgets 组件wxCheckBox wxBitmapButton wxToggleButton wxStaticLine wxStaticText wxSlider
    7、wxWidgets 对话框
    6、wxWidgets 事件处理
    5、wxWidgets布局管理
  • 原文地址:https://www.cnblogs.com/lee0oo0/p/3033305.html
Copyright © 2020-2023  润新知