iOS小技能:内存管理(引用计数、 ARC下内存管理的规则、桥接)

本文详细探讨了iOS中的内存管理,包括ARC(Automatic Reference Counting)下的内存管理规则,如何时释放资源,以及桥接Foundation和Core Foundation。还介绍了手动内存管理MRR的规则,如何处理图片和XIB加载问题,以及通过开启僵尸对象来定位内存问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

内存管理是程序在运行时分配内存、使用内存,并在程序完成时释放内存的过程。在Objective-C中,也被看作是在众多数据和代码之间分配有限内存资源的所有权(Ownership)的一种方式。

内存管理关心的是清理或回收不用的内存,以便内存能够再次利用。
如果一个对象不再使用,就需要释放对象占用的内存。Objective-C提供了两种内存管理的方法:手动管理内存计数(MRR)和自动引用计数(ARC)。

这两种方法都采用了一种称为“引用计数”的模型来实现,该模型由Foundation框架的NSObject类和运行时环境(Runtime Environment)共同提供。

I、内存管理


凡是函数名中带有create、copy、new、retain等字眼的,都应该在不需要这个数据的时候进行release。

GCD的数据类型在ARC环境下不需要进行release;而CF的数据类型在ARC、MRC环境下都需要做release的

1.1 ARC下内存管理的规则小结

  • 需要释放的资源:imageCache、queue、operations、view、通知监听者的移除。销毁soundID。

  • 释放的方法:dealloc 、applicationDidRec

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java、iOS、Vue

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值