Android Studio的Profiler生成trace排查Android冷启动耗时,Kotlin

发布于:2024-04-09 ⋅ 阅读:(60) ⋅ 点赞:(0)

Android Studio的Profiler生成trace排查Android冷启动耗时,Kotlin

利用AS自带的Profiler抓取trace排查定位冷启动耗时方法,不用写代码,直接配置AS即可完成。

例如下面代码:

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        mySleep500()
        setContentView(R.layout.activity_main)
        mySleep1000()
    }

    private fun mySleep500() {
        Thread.sleep(500)
    }

    private fun mySleep1000() {
        Thread.sleep(1000)
    }
}

上面有两个方法耗时:mySleep500()和mySleep1000(),目标是通过Profiler的trace把这两个冷启动阶段的耗时方法找到。

1、编辑配置

2.勾选

3.点击运行

此时AS下面就会自动记录、生成trace,因为只是排查冷启动阶段耗时,所以可以阶段很多时间trace即可,但至少需要大于1500ms,因为那两个耗时方法需要覆盖到。

4.选择、分析main线程

5.通过拖动上方的CPU Usage,使冷启动阶段的调用链展现出来

注意,上面的调用层次结构自上往下即是函数方法的调用链,上面的函数启动了下面的函数。矩形的长度代表了耗时的长度。绿色为自定义的两个耗时方法,找到了mySleep500()和mySleep1000()。每一行,从左往右是代码(函数)运行顺序,可以看到mySleep500()在mySleep1000()之前。

W-A-S-D和电脑游戏上的操作快捷键一样,控制放大或缩小每一片耗时段函数层次关系。

6.查看耗时时间

鼠标移动上去显示耗时。

Profiler在debug模式下才能进行,release模式下无法。

Android adb shell命令捕获systemtrace_android 抓trace-CSDN博客文章浏览阅读1.5k次。Android ADB调试真机设备Android ADB(Andorid Debug Bridge),是Android开发中有用的测试和调试工具。使用Android ADB调试设备,直接在Windows的dos命令窗口输入命名adb即可,如图:为什么执行adb命令后是这样?Android ADB(Andorid Debug Bridge)调试真机设备_adb在线执行器_zhangphil的博客-CSDN博客。-t 时长,20s,20秒的trace文件。-o 保存文件路径。_android 抓tracehttps://blog.csdn.net/zhangphil/article/details/131249820