iOS 内存泄漏的主要原因

ARC情况下的对象内存泄露主要由循环引起。

1. block的循环引用

2. delegate的循环引用

3. NSTimer的循环引用, NSTimer的对象会强引用,可以使用YYWeakProxy进行弱引用代理, 解除循环引用问题

4. 非OC对象内存处理, 需要手动使用release或free释放内存资源

5. 循环嵌套或单次循环次数过多导致的内存累积占用,这种情况不会内存泄漏,但是延迟了对象的释放时间,可以使用 @autoreleasepool 优化

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 内存管理 ARC处理原理 ARC是Objective-C编译器的特性,而不是运行时特性或者垃圾回收机制,ARC所做...
    b485c88ab697阅读 11,239评论 3 47
  • 内存管理 简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与a...
    丶逐渐阅读 2,003评论 1 16
  • 最全的iOS面试题及答案 iOS面试小贴士 ———————————————回答好下面的足够了-----------...
    大罗Rnthking阅读 984评论 0 2
  • iOS内存管理 概述 什么是内存管理 应用程序内存管理是在程序运行时分配内存(比如创建一个对象,会增加内存占用)与...
    蚊香酱阅读 5,759评论 8 119
  • 公园的椅子出长出叶子拥抱蔚蓝的空气而风对着流水窃窃低语把沉睡的虾唤醒 因为中午的十二点太阳才刚刚,刚升起 那条多年...
    李一十八阅读 291评论 0 3