iOS中的内存管理机制
2014-12-23 19:30
260 查看
iOS采用引用计数来管理内存,引用计数是对象中数字,代表着有多少个对象在使用它。iOS5中推出的新功能自动引用计数(Automatic Reference Counting, aka ARC)大大代码的编写难度,编译器会在合适的地方帮你增加或减少引用计数,但作为刚入门的开发者,了解引用计数的工作机制以及手动引用计数(Manual
Reference Counting, aka MRC)的使用方法还是很重要的。
首先我们要在工程中开启手动引用计数,方法如下图:
若你是刚开始学习iOS编程,最好把MRC打开,便于自己理解引用计数的使用。下面简单叙述一下引用计数的操作规则:
引起引用计数增加的操作:alloc,retain,copy,以及将对象添加到容器中,容器包括数组、字典、视图等等。
alloc是新开辟一块内存,是引用计数从零到一的过程。retain则会直接将其引用计数增加一。copy会复制原内存区域的内容到一块新的区域中。retain与copy可以简单理解为retain是地址拷贝,copy是内容拷贝。
引起引用计数减少的操作:release,autorelease。
release会将引用计数立即减一,autorelease则会在此对象所在自动释放池结束后师对象引用计数减一。
当对象引用计数为零时,系统会自动调用dealloc将对象彻底释放。
Reference Counting, aka MRC)的使用方法还是很重要的。
首先我们要在工程中开启手动引用计数,方法如下图:
若你是刚开始学习iOS编程,最好把MRC打开,便于自己理解引用计数的使用。下面简单叙述一下引用计数的操作规则:
引起引用计数增加的操作:alloc,retain,copy,以及将对象添加到容器中,容器包括数组、字典、视图等等。
alloc是新开辟一块内存,是引用计数从零到一的过程。retain则会直接将其引用计数增加一。copy会复制原内存区域的内容到一块新的区域中。retain与copy可以简单理解为retain是地址拷贝,copy是内容拷贝。
引起引用计数减少的操作:release,autorelease。
release会将引用计数立即减一,autorelease则会在此对象所在自动释放池结束后师对象引用计数减一。
当对象引用计数为零时,系统会自动调用dealloc将对象彻底释放。
相关文章推荐
- iOS中引用计数内存管理机制分析
- iOS中引用计数内存管理机制分析
- iOS 下ARC的内存管理机制
- iOS中引用计数内存管理机制分析
- IOS中内存管理机制浅解
- iOS 的内存管理和虚拟内存机制具体是怎么运作的?
- ios中的内存管理机制
- iOS的内存管理机制总结
- iOS中引用计数内存管理机制分析
- iOS —— 简述OC 的内存管理机制
- IOS第四节:OC中的内存管理机制
- ios开发 block 在ARC机制下的内存管理
- iOS中引用计数内存管理机制分析
- iOS中引用计数内存管理机制分析
- iOS(4)OC中内存管理机制
- iOS之一则形象说明,完美诠释内存管理机制
- iOS中引用计数内存管理机制分析
- ios框架内存管理机制
- iOS中引用计数内存管理机制分析
- iOS中引用计数内存管理机制分析总结(NSString引用计数为-1的情况)