Android方法调用耗时分析工具:Android Device Monitor
Posted guangdeshishe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android方法调用耗时分析工具:Android Device Monitor相关的知识,希望对你有一定的参考价值。
测试app
包名:com.example.myapplication
MethodTest.kt:
package com.example.myapplication
class MethodTest {
fun testMethod1() {
Thread.sleep(1000)//模拟耗时1秒
}
fun testMethod2() {
Thread.sleep(2000)//模拟耗时2秒
}
fun testMethod3() {
Thread.sleep(3000)//模拟耗时3秒
}
}
MainActivity.kt:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val methodTest = MethodTest()
methodTest.testMethod1()
methodTest.testMethod2()
methodTest.testMethod3()
}
}
android Device Monitor工具
- 双击该工具对应的【monitor.bat】文件,路径参考:【D:\\Android\\sdk\\tools\\monitor.bat】
- 选中需要检测的包名(如果找不到请先打开一次app),然后点击顶部的【Start Method Profiling】图标按钮
- 弹出的窗口直接点击【ok】按钮就开始记录了
- 启动我们要测试的app并做相关操作
- 再次点击【Start Method Profiling】图标以停止录制,然后会自动打开结果页面
分析结果
上面那块区域是按时间轴展示,下面那块是各个方法的调用情况,主要用到的列是【Incl Real Time】表示该方法调用时(包括方法内调用其他方法的时间)耗费的总时间
- 点击【Incl Real Time】列标题按方法耗时从高到低排序
- 在底部【Find:】右侧输入框输入我们需要的包名【com.example.myapplication】,会自动跳到与该包名相关的方法,也就是最耗时的那个方法,再次按回车会跳转下一个耗时方法
从这里就可以看到我们模拟耗时的那几个方法
以上是关于Android方法调用耗时分析工具:Android Device Monitor的主要内容,如果未能解决你的问题,请参考以下文章
Android CPU 优化Android CPU 调优 ( Trace 文件分析 | Android Profiler 工具 | CPU Profiler 工具 )