dmtracedump介绍
dmtracedump命令在Sdk包中,路径是android-sdk/platform-tools/,也即是在adb的同级目录下。其中 dm以我的理解应该是 diagram method的首字母简写。dmtracedump主要用途是将我们在代码中添加Debug.startMethodTracing dump的trace文件转换为图表形式。能够帮助我们进行分析程序方法的调用流程。那么如何获取trace 文件呢,请看下面。
获取trace文件
如下面方法所示,在目标方法上下分别加上startMethodTracing,stopMethodTracing,编译运行程序(需要申请读写文件权限),那么在手机的sd卡(内置/外置)Android/data/com.android.mms/files 下有相应的trace文件。将此文件导出到dmtracedump的目录文件夹下。
SimpleDateFormat dateFormat =new SimpleDateFormat("dd_MM_yyyy_hh_mm_ss", Locale.getDefault());
String logDate = dateFormat.format(new Date());
Debug.startMethodTracing(logDate);
params[i].run();// 追踪此方法
Debug.stopMethodTracing();
生成调用图
调用下面命令时,请安装graphviz dot插件。
sudo apt-get install graphviz
./dmtracedump -g aabc.png 23_02_2019_04_36_49.trace
执行需要一点时间&