iOS 内存泄漏

在iOS中,无论是ARC还是手动管理内容方式都是采用引用计数的内存管理方式。

这里有几个ARC的基本原则:

1、强引用指向的对象不会被释放。

2、一个对象没有强引用且在AutoreleasePool drain时会立刻释放。

3、弱引用指向的对象将要释放时自动为空。

下面简单介绍一下 ,内存泄漏产生的原因,以及解决的方案。

1 Block循环引用

总结一句话防止Block循环引用就是要防止对象之间引用的闭环出现

2 delegate循环引用问题

delegate循环引用问题比较基础,只需要注意将代理属性修饰为weak即可。

@property (nonatomic ,weak) id delegate;


NSTimer循环引用

4 大次数循环内存暴涨问题 (使用自己创建的autoReleasePool可以解决该问题)

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

推荐阅读更多精彩内容