我想测量启动时间(从应用程序启动开始到应用程序第一个视图渲染完成)。 是否有任何adb命令/ adb命令的组合,我可以通过它来实现这一点。
您的回复表示赞赏。 提前谢谢。
此致
开发
答案 0 :(得分:3)
我不确定您是否可以通过adb命令获得所需内容,但您可以使用Android SDK安装的platform-tools / systrace文件夹中包含的systrace工具。
Systrace工具可以从Eclipse,Android Studio,Android Device Monitor中的Android Developer Tools(ADT)运行,甚至可以在命令行中运行。
运行Systrace用户界面:
- 在Eclipse中,打开一个Android应用程序项目。
- 切换到 DDMS透视图,选择Window>观点> DDMS。
- 在“设备”选项卡中,选择要运行跟踪的设备。如果不 列出设备,确保您的设备通过USB电缆连接 并在设备上启用调试。
- 单击“设备”面板顶部的Systrace图标以配置跟踪。
- 设置跟踪选项,然后单击“确定”开始跟踪。
醇>
- 在Android Studio中,打开一个Android应用程序项目。
- 选择工具>打开设备监视器。 Android>监控。
- 在“设备”选项卡中,选择要运行跟踪的设备。如果未列出任何设备,请确保您的设备已通过USB连接 电缆,并在设备上启用调试。
- 单击“设备”面板顶部的Systrace图标以配置跟踪。
- 设置跟踪选项,然后单击“确定”开始跟踪。
醇>
- 导航到SDK工具/目录。
- 运行监控程序。
- 在“设备”选项卡中,选择要运行跟踪的设备。如果未列出任何设备,请确保您的设备已通过连接 USB电缆和设备上的调试已启用。
- 单击“设备”面板顶部的Systrace图标以配置跟踪。
- 设置跟踪选项,然后单击“确定”开始跟踪。
醇>
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
答案 1 :(得分:0)
您可以从adb logcat测量应用程序的启动时间。您可以检查从logcat开始的活动和显示的活动的打印,记下它们之间的时间差以测量启动时间。
adb logcat -vthreadtime | grep "start"
adb logcat -vthreadtime | grep "Displayed"
或
您可以使用以下命令启动应用程序并从其输出中查找时间: adb shell是start -W