繁体   English   中英

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

[英]Measure launch time of an android app using adb commands

我想测量启动时间(从应用程序启动开始到应用程序第一次查看渲染完成)。 是否有任何 adb 命令/adb 命令的组合可以实现这一点。

我不确定通过 adb 命令是否可以实现您想要的功能,但是您可以使用 Android SDK 安装的 platform-tools/systrace 文件夹中包含的 systrace 工具。

Systrace 工具可以从 Eclipse、Android Studio、Android 设备监视器甚至命令行中的 Android 开发人员工具 (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 tools/ 目录。
  2. 运行监控程序。
  3. 在设备选项卡中,选择要运行跟踪的设备。 如果未列出任何设备,请确保您的设备已通过 USB 电缆连接并且在设备上启用了调试。
  4. 单击“设备”面板顶部的 Systrace 图标以配置跟踪。
  5. 设置跟踪选项并单击确定开始跟踪。

命令行使用

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

从命令行运行 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM