Skip to content

Latest commit

 

History

History
53 lines (35 loc) · 1.3 KB

block-code-monitor.md

File metadata and controls

53 lines (35 loc) · 1.3 KB

阻塞代码检测

rabbit默认可以检测出应用中的阻塞代码,比如下面这段代码:

//涉及IO操作的代码
getSharedPreferences("test", Context.MODE_PRIVATE).edit().putBoolean("111", true).commit()

定义扫描范围

可以通过rabbit gradle dsl定义阻塞代码扫描范围:

xxx.gradle

rabbitConfig {
    
    enableBlockCodeCheck = true //默认是关闭的

    //阻塞代码扫描范围
    blockCodePkgs = ['com.susion.rabbit.demo']
}

rabbit会在编译时扫描出这些代码,然后你在rabbit面板中就可以查看它们是被谁调用:

查看之前不要忘记在配置中打开相关开关!!

点击可以查看更详细的调用情况。

导出扫描结果

点击面板右上角的导出按钮,这些阻塞代码就会被导出到SD卡上,路径为:

/{SDcard}/Rabbit/blockCall.txt

自定义API扫描列表

rabbit默认的阻塞代码列表位于:DEFAULT_BLOCK_APIS

也可以自定义这个API列表:

xxx.gradle

rabbitConfig {
    //自定义阻塞代码点
    customBlockCodeCheckList = ['com/susion/rabbit/demo/MainActivity.fakeBlockCode()V']
}