网站优化具体做哪些事情,优设网官网教程,餐饮品牌设计哪个公司最好,wordpress难吗Traceview 是一个 Android 性能分析工具#xff0c;用于时间性能分析#xff0c;主要帮助开发者了解应用程序中各个方法的执行时间和调用关系。Traceview 可以通过图形化界面查看应用程序的代码执行细节#xff0c;包括每个方法的调用次数、方法调用的时间消耗、方法调用堆栈…Traceview 是一个 Android 性能分析工具用于时间性能分析主要帮助开发者了解应用程序中各个方法的执行时间和调用关系。Traceview 可以通过图形化界面查看应用程序的代码执行细节包括每个方法的调用次数、方法调用的时间消耗、方法调用堆栈等信息。
它是一种基于调用栈的分析方式记录下应用程序在某个时间段内的函数调用情况。我们可以通过 Traceview 来定位性能瓶颈、不必要的函数调用优化代码结构以及性能。 使用 Traceview 工具需要在代码中插入开始和结束追踪的方法
Debug.startMethodTracing()开启监控
Debug.stopMethodTracing()停止监控
记录完成后会生成一个.trace 文件路径默认是/sdcard/Android/data/包名/files/dmtrace.trace
可以用 Android Studio 内置的 Profiler 工具来查看这个文件的可视化报告。 举个例子在 MainActivity 中搞一个耗时操作
class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)findViewByIdButton(R.id.btn).setOnClickListener {Debug.startMethodTracing() // 开启监控longTimeOperation()Debug.stopMethodTracing() // 关闭监控生成 .trace 文件}}private fun longTimeOperation() {for (i in 0..10000) {Log.i(wk, 循环$i)}Log.i(wk, 完成)}
}
点击 btn 后首先开启监控执行耗时操作后关闭监控就会在默认的路径下生成 .trace 文件把它保存在电脑本地右键 - Save As...
然后把这个 trace 文件直接拖进 Android Studio它会自动使用 Profiler 打开 在实际项目开发当中会有比较多的线程这里选择主线程main和火焰图Flame Chart查看主线程调用的代码执行细节 从火焰图中就可以得知com.demo.traceview.MainActivity.longTimeOperation 这个方法比较耗时我们就可以按照这个路径跟踪到方法里面去进行优化比如放子线程等 除了使用代码生成 trace还可以使用 Profiler 生成
在 Profiler 中选择好要监控的进程后点击 CPU 模块 选择 Java/Kotlin Method Trace 后点击 Record 开始监控手动进行耗时操作后点击 Stop 停止监控它就会自动生成 trace 文件并打开页面和步骤就跟上面的一样了 需要注意的是因为 Traceview 会在运行时植入额外的检测代码所以它会对应用程序的性能造成一定影响所以一般不在生产环境中使用只在开发阶段作为性能调试使用。