码迷,mamicode.com
首页 > 其他好文 > 详细

【OC学习-11】ARC和内存管理里面的alloc、assign、new、retain、copy、mutableCopy、release说明

时间:2014-09-03 19:52:47      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:blog   http   strong   ar   art   log   on   c   new   

一般我们在开发程序时,只管alloc,不需要管release,因为有ARC帮我们管理。但是在学习时仍需要了解:内存是有限的,在堆区分配了内存后,如果不需要,则要回收,不然内存不够引起崩溃。


所以原则是:有分配,就有回收。但是这个分配有可能分配好几次,那么回收怎么知道回收几次呢?这就是引用计数的作用。创建一个对象时,它自带了这个引用计数。

(1)alloc、new、copy、mutableCopy和retain时,引用计数+1,即retainCount+1;

(2)release时,引用计数retainCount减1。

(3)漏说的assign不会给引用计数+1,因为assign相当于给原来对象指针起了个别名,但是指针地址和指针指向的内容什么的都没有变化。

具体分别,可以见xiaoxuan415315之前的一篇文章:http://blog.csdn.net/xiaoxuan415315/article/details/8061084


在这里,还得知:

//以下语句效果一样
ASStudent * zhang=[[ASStudent alloc]init];
ASStudent * zhang=[ASStudent new];


【OC学习-11】ARC和内存管理里面的alloc、assign、new、retain、copy、mutableCopy、release说明

标签:blog   http   strong   ar   art   log   on   c   new   

原文地址:http://blog.csdn.net/weisubao/article/details/39030331

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!