利用Xcode检测循环引用
2016-06-29 本文已影响2551人
JerryLMJ
- 首先在我们的程序中添加一段循环引用代码
NSMutableArray * arr1 = [NSMutableArray array];
NSMutableArray * arr2 = [NSMutableArray array];
[arr1 addObject:arr2];
[arr2 addObject:arr1];
-
选择
Product
->Profile
-
选择
Leaks
,点击Choose
-
分析结果
点击左上角1位置的红点开始运行;
我们会发现在2的位置上出现一个错误警告;
选中3Leak Checks
;
点击4位置,选择Cycles&Roots
;
我们会看到5的位置上有一条信息,描述是简单循环;
选中那条信息,我们可以看到6位置上呈现出循环引用的图示,是不是一下就清晰明了了。
我们再来看看多个对象之间的循环引用是什么样子的
NSMutableArray * array1 = [NSMutableArray array];
NSMutableArray * array2 = [NSMutableArray array];
NSMutableArray * array3 = [NSMutableArray array];
NSMutableArray * array4 = [NSMutableArray array];
[array1 addObject:array2];
[array2 addObject:array3];
[array3 addObject:array4];
[array4 addObject:array1];
通过这样的方式来监测循环引用是不是变得很容易方便,也很清晰明了呢
版权声明:出自MajorLMJ技术博客的原创作品 ,转载时必须注明出处及相应链接!