代码库> 其他> CRChecker - 循环引用检测器
CRChecker - 循环引用检测器
关注
上传者:ponycui 分类:其他(Others)
查看次数:2684 下载次数:204
上传时间:2014-12-28 大小:206 B
CRChecker 提供了另一种检查程序是否存在循环引用的方法,以往,我们需要使用Leaks工具检测此类问题,但实际使用起来,十分困难。
本工具,使用的Method Swizzling的方式,对init和dealloc方法替换,以检查对象的生成、销毁计数的方法进行循环引用探测。

Demo

以下代码只是为了创设一个循环引用的环境

cvpic('https://github.com/duowan/CRChecker/raw/master/ReadmeResource/DemoCode01.png','','700','700')

cvpic('https://github.com/duowan/CRChecker/raw/master/ReadmeResource/DemoCode02.png','','700','700')

cvpic('https://github.com/duowan/CRChecker/raw/master/ReadmeResource/DemoCode03.png','','700','700')

如果我们进入 DemoSecondViewController 然后 present DemoModalViewController, 再返回到 DemoFirstViewController,反复4次。

之后, 再 present DashBoardViewController.

cvpic('https://github.com/duowan/CRChecker/raw/master/ReadmeResource/DemoScreen01.png','','700','700')

可以看到, DemoSecondViewController 和 DemoModalViewController 仍然存在 4 个未释放对象. 正常来说,这两个ViewController应该马上被释放.

所以,你能找到循环引用的问题所在了?

用法

pod "CRChecker" 或者 "Download ZIP -> add CRChecker Dir.'s file to your project"

如果你只希望检测指定前缀的类

使用 [CRChecker addCustomClassPrefix:@"Demo"];

否则,CRChecker会记录所有的类,包括系统类、第三方库类。
收藏
我来说两句
发表评论
您还没有登录!请登录注册
所有评论(0
本周热门下载
综合评论
提示
sina weixin mail 回到顶部