快捷搜索:  as

iOS内存管理

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 做一些优化。

您可能还会对下面的文章感兴趣: