Systrace自定义TAG使用

作者: GarveyLian | 来源:发表于2020-05-17 14:47 被阅读0次

    自定义Trace TAG

    使用Trace.beginSection()Trace.endSection() 定义代码段

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            Trace.beginSection("MainActivity.onCreate");
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            mRecyclerView = findViewById(R.id.rv_main);
            Trace.beginSection("MainActivity.initData");
            initData();
            Trace.endSection();
            mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
            mRecyclerView.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.VERTICAL));
            mAdapter = new MyAdapter(this, mData);
            mRecyclerView.setAdapter(mAdapter);
            Trace.endSection();
        }
    

    其中Trace.endSection(); 与最近的Trace.beginSection("SelfTag"); 配对结束。

    使用命令

    首先安装Python2环境,然后在Android Sdk里的\platform-tools\systrace 目录下有systrace.py 脚本,执行下面的命令,注意-a 参数写自己的进程名字,-o 参数写自己的输出文件名:
    python systrace.py -a com.xxx.xxx -o xxx.html sched freq idle am wm gfx view binder_driver

    脚本执行示例.png

    脚本开始Starting 后就可以操作你的应用,比如滑动界面等。结束操作后按Enter结束Systrace 的抓取(也可以通过设置 -t 参数设置自动抓取停止时间例如-t 10 抓取10秒,默认-t 时间是5秒)。

    抓取完成后在对应目录会生成一个html格式的报告

    抓取成功.png

    分析报告

    通过Chrome浏览器可以直接打开报告html文件

    结果.png
    可以通过右上角搜索框(快捷键:/)输出你自定义的Tag,按Enter快速选择其中一个或者通过右上角的左右箭头选择上一个下一个。
    通过上述步骤选中其中一个后可以通过快捷键M快速定位对应Frame中的位置,并查看相应的执行时间与连续帧的位置。
    查看自定义TAG.png

    相关文章

      网友评论

        本文标题:Systrace自定义TAG使用

        本文链接:https://www.haomeiwen.com/subject/lbqsohtx.html