我尝试使用ViewDebug.startHierarchyTracing方法,但是它什么也不做,因为它会检查ViewDebug.TRACE_HIERARCHY并立即返回,如果它是false
实际上,根据JavaDoc,这是预期的行为:


  如果TRACE_HIERARCHY为false,则此方法将立即返回。


问题在于TRACE_HIERARCHY在源中声明为值为false的布尔常量:

/**
 * Enables or disables view hierarchy tracing. Any invoker of
 * {@link #trace(View, android.view.ViewDebug.HierarchyTraceType)} should first
 * check that this value is set to true as not to affect performance.
 */
public static final boolean TRACE_HIERARCHY = false;


还有startRecyclerTracingstartMotionEventTracing(从公共API隐藏)方法,它们分别依赖于TRACE_RECYCLERTRACE_MOTION_EVENTS常量(也设置为false)。

因此,我想知道是否可以完全使用ViewDebug类,还是只打算在自定义Android版本中使用它?如果可以的话,是否有针对Emulator的自定义(调试?)构建可用?

最佳答案

基于this Dianne Hackborn的评论,我可以假定ViewDebug仅在自定义Android构建中有用(使用ViewDebug常数的修改值)。但是,似乎没有启用了ViewDebug功能的预构建系统映像可用于该模拟器。

关于android - 如何使用android.view.ViewDebug静态方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5902440/

10-09 00:32