我想使用 traceview 来衡量几个异步事件的性能。异步事件在类似于以下代码的回调中传递给我。
interface EventCallback {
void onStartEvent(String name);
void onStopEvent(String name);
}
每个异步事件都将以“onStartEvent”调用开始并以“onStopEvent”调用结束。
我想为每个事件创建跟踪文件。从我在这里的阅读(http://developer.android.com/tools/debugging/debugging-tracing.html#creatingtracefiles)来看,不可能跟踪异步事件,因为调用的顺序必须在“堆栈”中“结构化” “喜欢订购。因此,对“Debug.stopMethodTracing()”的调用始终适用于最近对“Debug.startMethodTracing(“calc”);”的调用。
因此,如果我按以下顺序收到回调。
onStartEvent(A)
onStartEvent(B)
onStopEvent(A)
onStopEvent(B)
这将被解释为
Debug.startMethodTracing("A");
Debug.startMethodTracing("B");
Debug.stopMethodTracing(); // 将应用于“B”而不是“A”
Debug.stopMethodTracing(); // 将应用于“A”而不是“B”
使用traceview,有没有做我想做的事?即跟踪“非结构化”异步事件?