对象引用的个数,占4个字节在对象创建的时候就为1,而只有为0的时候才会释放对象占用内存(所以系统不会释放对象占用的空间)获得retain消息时会加1,获得release消息时会减1retainCount用来显示对象引用的个数,但是不一定准确。而对象占用空间被释放时一定会调用dealloc方法
分类:
其他好文 时间:
2016-01-17 19:01:54
阅读次数:
118
ARC (Automatic Reference Counting) 编译器自动在适当的时候给代码添加retain/release方法,而不需要程序员自己添加 与java垃圾回收机制的区别: java由系统在适当的时候自动回收空闲空间,而xcode由编译器回收MRC(Manul Refer...
分类:
其他好文 时间:
2016-01-17 18:59:42
阅读次数:
136
转载至:http://stackoverflow.com/questions/17009966/capturing-self-strongly-in-this-block-is-likely-to-lead-to-a-retain-cycle问题描述:13down votefavorite8This...
分类:
其他好文 时间:
2016-01-17 01:07:50
阅读次数:
278
第五章:内存管理29 理解引用计数30 以ARC简化引用计数总结:ARC通过命名约定将内存管理规则标准化。其他编程语言很少像OC这样强调命名。ARC通过设置全局数据结构(此数据结构的具体内容因处理器而异)中的一个标志位,来代替直接调用autorelease和retain。这是ARC所带来的好处。待编...
分类:
其他好文 时间:
2016-01-13 12:25:24
阅读次数:
211
copy与retain的区别:copy是创建一个新对象,retain是创建一个指针,引用对象计数加1。Copy属性表示两个对象内容相同,新的对象retain为1,与旧有对象的引用计数无关,旧有对象没有变化。copy减少对象对上下文的依赖retain属性表示两个对象地址相同(建立一个指针,指针拷贝),...
分类:
移动开发 时间:
2016-01-09 20:19:28
阅读次数:
144
内存管理:基本数据类型或者Core Foundation对象都没有引用计数主线程会自动创建释放池,子线程需要手动创建释放池。具体的区别:http://www.cnblogs.com/langtianya/p/3722129.html1. NSString:retain:始终是浅复制。引用计数每次加一...
分类:
其他好文 时间:
2016-01-09 18:32:10
阅读次数:
136
0809 - 内存管理,只对oc对象生效. alloc、retain、release、retainCount局部变量是放在栈里面的,oc对象是放在堆里面的。栈里面的内容系统自动回收,而堆里面的内容还在,所以不适用ARC的时候要手动回收这些对象内容如下图所示:对象的基本结构每一个对象内部都有一个引用计...
分类:
移动开发 时间:
2016-01-09 18:23:58
阅读次数:
160
object-c定时器object-c定时器会自己主动retain当前的使用者,假设不注意调用invalidate,则非常easy引起循环引用导致内存泄露。以下的思路提供了一套还算可行的解决方式。举例:常常在viewController中有可能有自己主动刷新界面的需求。 获取数据失败后。每隔10秒自...
分类:
其他好文 时间:
2016-01-09 15:17:49
阅读次数:
127
举个例子: NSString*houseOfMM= [[NSStringalloc]initWithString:'装梵几的三室两厅'];上面一段代码会执行以下两个动作:1 在堆上分配一段内存用来存储@'装梵几的三室两厅' ,比如:内存地址为0X1111内容为 '装梵几的三室两厅',2 在栈上分配一...
分类:
其他好文 时间:
2016-01-08 00:12:49
阅读次数:
203
// 一: copy 与 retain 的区别// 谁才有引用计数的概念:// 1. 堆区空间才有引用计数概念.// 2. 堆区的对象才会有引用计数. //%ld: - 1 %lu:18446744073709551615 //retain:始终是浅拷贝。引用计数每次加一。 /...
分类:
其他好文 时间:
2016-01-06 23:38:32
阅读次数:
195