首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Objective-C 内存储器管理

2012-09-02 
Objective-C 内存管理C语言使用malloc方法申请内存,使用free释放内存。Objective-c使用alloc方法申请内存,

Objective-C 内存管理
C语言使用malloc方法申请内存,使用free释放内存。

Objective-c使用alloc方法申请内存,使用Release来释放它。


一、内存申请(alloc)
    当使用alloc创建一个对象时,需要在用完之个对象后释放(Release)它。
    比如:

-(void) setName: (NSString*) newName {  name = newName;}

这样的结果是name和newName指向同一个对象,如果newName的值发生变化的话,name的值也发生变化,这显然不是我们想要的结果。
使用copy,其完成的功能就是调用一个alloc方法来创建一个新的字符串对象(使用initWithString:newName)
nonatomic的意思是不需要使用互斥锁。
atomic是使用互斥锁,缺省选项是atomic。
如果你的程序并没有使用多钱程,可以将互斥锁设置为nonatomic.


八、内存管理的基本原则

1、如果使用alloc(或者copy)方法创建一个对象,或者使用retain保留一个对象,那么就要自己释放对象。
   (1)用allco(或copy)时,用release释放。
   (2)用retain时,用autorelase增加到自动释放池中。
2、申请内存的语句数量和释放内存的语句数量应该相等。




热点排行