Skip to content

0x03i ViewCanary_zh

hui.zhao edited this page Dec 1, 2019 · 3 revisions

ViewCanary

安装

使用如下配置进行安装

GodEye.instance().install(GodEyeConfig.defaultConfigBuilder().withViewCanaryConfig(new GodEyeConfig.ViewCanaryConfig(10)).build());

或者

<viewCanary maxDepth="10"/>

maxDepth表示view超出层级的阈值(超出这个层级的view将会在debug monitor中标记为红色)

数据生产与消费

可以使用如下两种方式生产数据

  1. 在DebugMonitor Dashboard上点击ViewCanary模块上的inspect按钮
  2. 代码中调用GodEyeHelper中的API
try {
            GodEyeHelper.inspectView();
        } catch (UninstallException e) {
            e.printStackTrace();
        }

使用如下方式监听模块输出的数据:

try {
    GodEye.instance().observeModule(GodEye.ModuleName.VIEW_CANARY, new Consumer<ViewIssueInfo>() {
                @Override
                public void accept(ViewIssueInfo viewIssueInfo) throws Exception {
                }
            });
        } catch (UninstallException e) {
            e.printStackTrace();
        }

在点击inspect或调用inspectView之后就会进行view和layout的分析,分析完成之后进行输出,viewIssueInfo记录了顶部页面的所有view的层级信息和该页面中重绘的区域

DebugMonitor Dashboard

Clone this wiki locally