OC内存管理初级

一.内存管理的方式:

1.MRC (Manual Reference Count) 手动引用计数

2.ARC (Auto Reference Count) 自动引用计数
3.垃圾回收

二.内存管理机制

引用计数:

OC采用引用计数机制管理内存,当一个新的引用指向对象时,引用计数器就递增;当去掉一个引用时,引用计数器就递减.当引用计数到零时,该对象就释放占有的资源.

影响引用计数的方法:

1.+alloc  开辟内存空间,让被开辟的内存空间的引⽤用计数变为1,这是由0到1的过程

2.-retain 引⽤用计数加1

3.-copy  把某⼀内存区域的内容拷⻉一份,拷贝到新的内存空间⾥,被拷贝区域的引用计数不变,新的内存区域的引用计数加1

1

4.-release  引用计数减1

5.-autorelease  未来的某一时刻引用计数减1

autorelease 会将声明为autorelease 的对象,也即在  @autoreleasepool{}的大括号中的对象  放入离它最近的自动释放池中,当自动释放池销毁时,会向池中的每一个对象发送一个release消息

- dealloc:

是继承自父类的方法,当引用计数为0时,由对象自动调用.我们可以在dealloc中打印一句话,验证对象引用计数是否降为0.例如:

- (void)dealloc
{
    NSLog(@"被销毁了");
    [super dealloc];
}

三.内存管理原则

引用计数的增加和减少相等,当引用计数降为0之后,不应该再使用这块空间

凡是使用了alloc ,retain或者copy让内存的引用计数减少了,就需要使用release或autorelease让内存的引用计数减少.在一段代码内,增加和减少的次数要相等.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值