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