Traceview Android 5是否支持"基于方法/跟踪的分析"或者它现在只是基于抽样的分析器?

时间:2015-12-12 13:26:46

标签: android android-5.0-lollipop profiler android-traceview

在Android版本< = 4.4中,Traceview显示应用程序在其执行顺序中执行的所有功能。它是使用Profile.cc提供的API实现的。基本思路是每当dvm进入/退出函数分析器时都会记录该函数。这称为基于跟踪(/方法)的分析。

但是,在Android版本> = 5代码库中,我无法找到基于跟踪/方法的分析器(Profile.cc)的实现。但是ART内部有一个Profiler.cc基本上是一个基于抽样的分析器。

Google文档说:

"虽然Traceview提供了有用的信息,但它在Dalvik上的结果却被每方法调用开销所左右,并且使用该工具会显着影响运行时性能。

ART增加了对没有这些限制的专用采样分析器的支持。这样可以更准确地查看应用程序执行情况,而不会显着减缓。在KitKat版本中,对Tracev for Dalvik添加了采样支持。 "

所以我的问题是:

  1. Android版本5是否支持基于Trace(/ method)的分析?如果是,实施代码在哪里?

  2. 如果ART仅使用基于采样的分析,那么如何记录Android应用程序执行的每个方法?基于采样的分析器可能会错过方法执行,对吗?

  3. 提前致谢,

0 个答案:

没有答案