iOS内存泄漏检测方法

一、 一般造成内存泄漏的点:

  • Retain Cycle循环引用、Block强引用
  • NSTimer释放不当
  • 第三方提供方法造成的内存泄漏
  • CoreFoundation方式申请的内存、忘记释放

二、Xcode常规的检测方法:

  • Analyze静态分析(Command Shift B): 主要分析以下四种情况
    • 逻辑错误: 访问空指针或未初始化的变量等
    • 内存管理错误: 内存泄漏
    • 申明错误: 从未使用过的变量
    • API调用错误: 未包含使用的库和框架
  • Instrument中的Leaks动态分析内存泄露: 运行过程中有X号的地方表示一个内存泄露
  • InstrumentAllocation工具了解内存的分配情况: 数次push跟pop之后内存还不断增长,则有内存泄露
  • Xcode调试工具栏中的Debug Memory Graph直接以关系图的形式来告诉你各个对象的持有关系,内存泄漏时会有紫色的小感叹号出现.在开发过程中,因为语法或明显的代码错误(例如Retain Cycle),编译器可以发现并报黄色或红色警告.
    • 另外,当处在该模式下,你已经明确一个控制器或对象已经释放的情况下,在左侧还能看到该控制器或对象的实例,那么就说明它明显的存在内存泄漏.

三、内存泄漏第三方检测工具

  • MLeaksFinder
  • FBRetainCycleDetector
  • PLeakSniffer


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部