9、iPhone开发:内存管理、工具使用与应用部署

iPhone开发:内存管理、工具使用与应用部署

1. 内存管理基础

1.1 引用计数系统

iPhone采用引用计数的内存管理系统,而非垃圾回收机制。这意味着开发者需要手动控制对象的创建、保留和释放。当对象的引用计数大于等于1时,对象不会被释放;当引用计数降为0时,对象会被释放。

例如,使用 alloc new copy 创建的对象,初始引用计数为1。发送 retain 消息会使引用计数加1,发送 release 消息会使引用计数减1。如果在没有将引用计数降为0的情况下丢失对对象的引用,就会造成内存泄漏。

以下代码会造成数组泄漏:

NSArray *leakyarray = [[NSMutableArray alloc] init];
leakyarray = nil;

1.2 自动释放池

除了 retain release ,Objective - C还提供了 autorelease 内存管理方式。在对象创建时发送 autorelease 消息,表示希望对象在未来某个时间自动释放。请求对象的方法可以立即使用自动释放的对象,并在当前运行循环结束时让其自动释放,也可以保留该对象以供未来使用。

2. 缓存策略

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值