黑马程序员------内存管理

对象生命周期
在oc中每一个对象通过诞生(alloc或new),生存(执行消息或执行操作),交友(借助方法的组合和参数),直到结束(释放)
引用计数
在java垃圾回收中采用的,根搜索算法,搜索引用的对象,如果没有被引用,把它释放掉。在早期的垃圾回收算法中,有个引用计数算法,引用对象+1,取消引用-1,但是这种方法,对于互相引用的对象,没办法释放。
在oc中怎么描述引用计数的

1.当用alloc,new方法创建一个对象时,对象计数器设置成1,如果增加对象的保留计数器,可以给对象发一条retain消息。
2.要减少对象的保留计数器,可以发送一条release消息。
3.当计数器为0时,会自动发给对象一条dealloc消息,可以重写dealloc方法,通过这种方法释放分配的全部相关资源。

在处理释放时,先保留新对象,再释放旧对象

内存管理的方式

1.使用retain-release方式,手动管理方式,调用自己

2.ARC,编译时自动帮你添加内存管理方法。

3.垃圾回收:仅在MacOsX中使用,不用于IOS

测试代码:


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值