上代码!
先加权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
选择跟踪范围,在开始追踪和结束的地方:
//================在这里开始方法追踪
val externalStorageAbsPath: String =
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
.getAbsolutePath()
val traceFilePath = externalStorageAbsPath + File.separator + "test_.trace"
Log.i("测试文件的地址:", traceFilePath)
Debug.startMethodTracing(traceFilePath)
//================在这里开始方法追踪
你的代码。。。。。。
//================在这里结束方法追踪
Debug.stopMethodTracing();
找到trace文件:
进入shell模式
adb shell
然后:【ls 这个文件地址(test_.trace)】
表示有这个文件,然后退出来,用【adb pull 文件地址(test_.trace)】
然后:拿到 test_.trace
文件后,你可以使用Android Studio的Traceview工具进行分析和查看。具体步骤如下:
- 打开Android Studio。
- 点击顶部菜单的"View"选项。
- 在下拉菜单中选取"Tool Windows",然后点击"Profiler"选项。
- 在"Profiler"窗口中,你会看到你的设备以及正在上面运行的进程。选择你的应用进程。
- 在顶部菜单栏,点击"File",从下拉菜单中选择"Open...",然后选择你的
test_.trace
文件。
有什么用呢?
xxx.trace
文件是Android系统生成的一种跟踪文件,它会记录下你的应用在一段时间内的详细运行情况,包括每个方法的调用次数、每次调用的时间和被哪个线程调用等等。这些信息可以帮助你找出应用潜在的性能问题,例如执行效率低的方法、不必要的重复调用或者可能引起界面卡顿的长时间运行操作。
有了这些信息,你就可以分析出应用的运行状况。知道哪些方法运行的时间非常长,那么可能就需要你去查看一下这个方法的实现,看看是否有可能优化以减少运行时间。或者如果某个方法被频繁调用,那么你也可以检查一下是否存在不必要的重复调用。