使用Xcode检测循环引用
Analyze(静态分析)
Analyze主要分析以下四种问题:
1.逻辑错误:访问空指针或为初始化的变量等;
2.内存管理错误,如内存泄露等;
3.声明错误:从未使用过的变量;
4.API调用错误:未包含使用的库和框架
Analyze的主要优势在于静态分析 内存泄露 及 代码逻辑错误
分析内存泄露不能把所有的内存泄露检查出来,有的内存泄露是运行时,用户操作产生的。
Leaks工具
Xcode中选择product,选择Analyze,选择leaks工具进行检测
@autoreleasepool 和 autorelease 使用
1.什么时候使用’autorelease’?
当一个对象产生时,而无法判断其什么时候不使用,此时就可以对此对象发送’autorelease’消息。
2.当一个对象发送了’autorelease’消息时,该对象就会在其最近的一个自动释放池’autoreleasepool’释放
3.不要随便一个对象就用’autorelease’释放