美文网首页
iOS内存管理

iOS内存管理

作者: springerPrivate | 来源:发表于2017-05-10 17:10 被阅读0次

OC中的内存管理,就是引用计数(reatinCount),是一种简单而有效的管理对象生命周期的方式。对象经过retain和release的方法操作改变引用记数,当引用记数为零时,便自动释放内存。

引用计数(内存管理)的思考方式:

1)自己生成的对象,自己持有

2)非自己生成的对象,自己也能持有

3)不再需要自己持有的对象时释放

4)非自己持有的对象无法释放

对象操作与OC方法的对应:

生成并持有对象:alloc/new/copy/mutableCopy等

持有对象:           retain方法

释放对象:           release方法

废弃对象:          dealloc方法

这些OC内存管理的方法其实并不包括在OC语言中,而是包含在Cocoa框架中,Cocoa框架中Foundation框架类库的NSObject类负担内存管理的职责。从 iOS 7 开始,这些方法被移动到了 Runtime 当中,可以在 objc4-680 NSObject.h 找到。

MRC(MannulReference Counting)是手动管理内存,即需要程序员来做retain、release操作。

ARC (Automatic Reference Counting)是苹果引入的一种自动内存管理机制,会根据引用计数自动监视对象的生存周期,实现方式是在编译时期自动在已有代码中插入合适的内存管理代码以及在 Runtime 做一些优化。

相关文章

网友评论

      本文标题:iOS内存管理

      本文链接:https://www.haomeiwen.com/subject/cwritxtx.html