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 eclipse如何查看耗时

Android(Java)控制GPIO的方法及耗时分析

Android CPU 优化Android CPU 调优 ( Trace 文件分析 | Android Profiler 工具 | CPU Profiler 工具 )

一个简易的android帧率测试工具

app性能测试

Android 高级面试题及答案