5

android中的文档说

you can use the methods of the Trace class to add instrumentation to 
your application code and see the results in a Systrace report.

我已将以下方法添加到我的代码中

Trace.beginSection("test-trace");  

// block of code

Trace.endSection();

现在我在哪里可以检查本节的结果。我从 android 设备监视器启动 systrace 工具并记录了 30 秒(执行了执行上述块的按钮单击)。它生成 trace.html 文件,但我如何从这个 html 文件中获取上述部分信息

4

3 回答 3

6

它在那里,我自己搜索了大约一个小时:D

如果您只有一个线程,则显示在 UI 线程行中,否则显示在您定义的线程行中。

如果找不到,请使用搜索工具箱,在页面右上角输入“test-trace”,它会详细显示开始时间

:)

此屏幕截图可能对您有所帮助

于 2016-05-03T10:46:50.130 回答
3

systrace 输出仅包括命令行中列出的标记。对于特定于应用程序的跟踪,这意味着添加一个--app=package-name参数。这是必要的,因为 systrace 记录整个系统,并且您不希望它自动获取每个应用程序和组件的跟踪。

你可以在这里找到一个例子。对于具有 package name 的程序com.faddensoft.multicoretest,您可以使用如下命令行:

python systrace.py --app=com.faddensoft.multicoretest gfx view sched dalvik

这样,您的跟踪应该出现在发出跟踪调用的线程的行中。(在网络浏览器中打开 HTML 文件;可能需要使用 Chrome。)

于 2015-05-10T15:41:00.270 回答
0

可能您录制的时间太长,请确保使用 -b 命令增加缓冲区大小,或者简单地按照以下示例进行操作:

python systrace.py  -app=package_name sched freq idle am wm gfx view dalvik input binder_driver -t 30 -o test.html -b 30384
于 2018-06-26T04:25:00.190 回答