使用adb命令测量Android应用的启动时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用adb命令测量Android应用的启动时间相关的知识,希望对你有一定的参考价值。

我想测量启动时间(从应用程序启动开始到应用程序第一个视图渲染完成)。是否有任何adb命令/ adb命令组合,我可以通过它来实现此目的。

您的回复表示赞赏。预先感谢。

问候

开发

答案

我不确定您是否可以通过adb命令获得所需内容,但您可以使用android SDK安装的platform-tools / systrace文件夹中包含的systrace工具。

Systrace工具可以从Eclipse,Android Studio,Android Device Monitor中的Android Developer Tools(ADT)运行,甚至可以在命令行中运行。

要运行Systrace用户界面:

使用Eclipse

  1. 在Eclipse中,打开一个Android应用程序项目。
  2. 通过选择Window> Perspectives> DDMS切换到DDMS透视图。
  3. 在“设备”选项卡中,选择要运行跟踪的设备。如果未列出任何设备,请确保通过USB电缆连接设备并在设备上启用调试。
  4. 单击“设备”面板顶部的Systrace图标以配置跟踪。
  5. 设置跟踪选项,然后单击“确定”以启动跟踪。

使用Android Studio

  1. 在Android Studio中,打开一个Android应用程序项目。
  2. 选择工具> Android>监视器打开设备监视器。
  3. 在“设备”选项卡中,选择要运行跟踪的设备。如果未列出任何设备,请确保通过USB电缆连接设备并在设备上启用调试。
  4. 单击“设备”面板顶部的Systrace图标以配置跟踪。
  5. 设置跟踪选项,然后单击“确定”以启动跟踪。

使用设备监视器

  1. 导航到SDK工具/目录。
  2. 运行监控程序。
  3. 在“设备”选项卡中,选择要运行跟踪的设备。如果未列出任何设备,请确保通过USB电缆连接设备并在设备上启用调试。
  4. 单击“设备”面板顶部的Systrace图标以配置跟踪。
  5. 设置跟踪选项,然后单击“确定”以启动跟踪。

命令行用法

Systrace工具对运行Android 4.3(API级别18)的设备具有不同的命令行选项,与运行Android 4.2(API级别17)及更低版本的设备相比具有更高的命令行选项。以下部分描述了每个版本的不同命令行选项。

从命令行运行Systrace的一般语法如下所示。

$ python systrace.py [options] [category1] [category2] ... [categoryN]

Android 4.3及更高版本的选项

在运行Android 4.3及更高版本的设备上使用Systrace时,必须至少指定一个跟踪类别标记。下面是一个示例执行运行,它设置跟踪标记并从连接的设备生成跟踪。

$ cd android-sdk/platform-tools/systrace
$ python systrace.py --time=10 -o mynewtrace.html sched gfx view wm

提示:如果要在跟踪输出中查看任务的名称,则必须在命令参数中包含sched类别。

Android 4.2及更低版本的选项

在运行Android 4.2及更低版本的设备的命令行上使用Systrace通常需要两个步骤。您必须首先设置要捕获的跟踪标记,然后运行跟踪。下面是一个示例执行运行,它设置跟踪标记并从连接的设备生成跟踪。

$ cd android-sdk/platform-tools/systrace
$ python systrace.py --set-tags gfx,view,wm
$ adb shell stop
$ adb shell start
$ python systrace.py --disk --time=10 -o mynewtrace.html
另一答案

您可以从adb logcat测量应用程序的启动时间。您可以检查从logcat显示的活动打印和活动,记下它们之间的时差,以测量启动时间。

adb logcat -vthreadtime | grep "start"
adb logcat -vthreadtime | grep "Displayed"

要么

您可以使用以下命令启动应用程序并从其输出中查找时间:adb shell am start -W

以上是关于使用adb命令测量Android应用的启动时间的主要内容,如果未能解决你的问题,请参考以下文章

Android adb shell启动应用程序的方法

adb 简介及常用命令

android--性能优化1--首屏优化&启动速度与执行效率检测

Android java代码执行ADB命令启动Activity

如何在应用程序代码本身中使用 adb 命令卸载 android 应用程序?

技术分享 App测试时常用的adb命令你都掌握了哪些呢?