如何用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 指定 <category> 和 <action>

得到的结果如下:

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值