如何用adb命令统计app冷启耗时

第一步:杀掉App,然后重启,过滤Displayed日志,找到App启动的第一个Activity;

adb logcat | grep Displayed

 

第二步:再次杀掉App,使用adb shell am start命令来启动app:

adb shell am start -S -W com.ss.android.article.news/.activity.MainActivity -c android.intent.category.LAUNCHER -a android.intent.action.MAIN

说明:

  1. com.ss.android.article.news/.activity.MainActivity就是我们在第一步得到的App冷启动的第一个Activity;
  2. -S参数:强制重启,如果没有-S参数,当MainActivity已启动时,就不会重启MainActivity;
  3. -W参数:列出启动过程中统计到的具体数据;
  4. -c 和 -a 为可选参数,可让您为 intent 指定  和 

得到的结果如下:

 

  1. LaunchState表示冷、热、温启动;
  2. TotalTime表示新应用启动的耗时,包括新进程的启动和Activity的启动耗时(包括创建进程 + Application初始化 + Activity初始化到界面显示的时间),但不包括前一个应用Activity pause的耗时;
  3. WaitTime就是总的耗时,包括前一个应用Activity pause的时间和新应用启动的时间;因此,WaitTime比TotalTime稍大;
  4. 开发者一般只要关心TotalTime即可,这个时间才是自己应用真正启动的耗时。上面今日头条的冷启动耗时是574ms。
  5. 为了得到的结果更准确,可以写一个脚本重复执行am start命令,计算平均值;

你可能感兴趣的:(测试技能,adb)