1 查看冷启动耗时
adb shell am start -S -W com.gerry.lifecycle/com.gerry.lifecycle.MainActivity
发现冷启动耗时居然要6s多,下面开始排查
2 生成trace文件
// Application中开始trace记录
override fun attachBaseContext(base: Context?) {
super.attachBaseContext(base)
Debug.startMethodTracing("/data/data/com.gerry.lifecycle/files/testColdLaunch")
}
// MainActivity中结束trace记录
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Debug.stopMethodTracing()
}
编写好以上代码后,再次运行才可以生成对应的trace文件
3 导出trace分析
定位到问题, 原来是 Application onCreate中做了一些耗时操作