- 博客(4)
- 资源 (3)
- 收藏
- 关注
转载 iPhone/Mac Objective-C内存管理教程和原理剖析 【四、系统自动创建新的autorelease pool】
四 系统自动创建新的autorelease pool 在生成新的Run Loop的时候,系统会自动创建新的autorelease pool(非常感谢网友hhyytt和neogui的提醒)。注意,此处不同于xcode在新建项目时自动生成的代码中加入的autorelease pool,xcode生成的代码可以被删除,但系统自动创建的新的autorelease pool是无法删除的(对于无Garb
2012-03-29 16:42:20 846
转载 iPhone/Mac Objective-C内存管理教程和原理剖析 【三、@property (retain)和@synthesize的默认实现】
三 @property (retain)和@synthesize的默认实现 在这里解释一下@property (retain) ClassB* objB;和@synthesize objB;背后到底发生了什么(retain property的默认实现)。property实际上是getter和setter,针对有retain参数的property,背后的实现如下(请参考附件中的memman-get
2012-03-29 16:40:54 1135 1
转载 iPhone/Mac Objective-C内存管理教程和原理剖析 【二、口诀与范式】
二 口诀与范式 1 口诀。 1.1 谁创建,谁释放(类似于“谁污染,谁治理”)。如果你通过alloc、new或copy来创建一个对象,那么你必须调用release或autorelease。换句话说,不是你创建的,就不用你去释放。 例如,你在一个函数中alloc生成了一个对象,且这个对象只在这个函数中被使用,那么你必须在这个函数中调用release或aut
2012-03-29 16:39:53 739
转载 iPhone/Mac Objective-C内存管理教程和原理剖析 【一、基本原理】
前言 初学objectice-C的朋友都有一个困惑,总觉得对objective-C的内存管理机制琢磨不透,程序经常内存泄漏或莫名其妙的崩溃。我在这里总结了自己对objective-C内存管理机制的研究成果和经验,写了这么一个由浅入深的教程。希望对大家有所帮助,也欢迎大家一起探讨。 此文涉及的内存管理是针对于继承于NSObject的Class。 一 基本原理 Obj
2012-03-29 16:39:09 849
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人