更多关于自动参考计数(ARC)的详细信息



可能重复:
iOS:去ARC还是不去ARC?优点和缺点

我已经了解了使用ARC的优点和缺点是什么?

from使用ARC的优点和缺点是什么?

然而,我仍然怀疑自动参考计数(ARC)。

我有一些疑问。

如果ARC处于活动状态,我们不想手动发布?

它是自动进行垃圾收集和内存管理的吗?

谁能澄清一下我的想法吗。

ARC不是垃圾收集器。苹果公司将其描述为:

自动引用计数(ARC)是编译器级别的功能简化了管理对象寿命(内存管理)。

ARC所做的只是在编译时添加retain/release调用。这有助于开发人员节省时间,并跳过写deallocs和其他内存管理调用。

即使ARC有很大帮助,但这并不意味着开发人员应该忽略内存管理。有时,这种情况很少见,但有时ARC不知道该怎么办,可能会产生意想不到的行为。这绝对是一个很棒的工具,但在激活它并让它发挥其魔力之前,最好先了解Objective-C中的整个内存管理例程。

回答的具体问题

如果ARC处于活动状态,我们不想手动发布?

不,事实上,当你使用ARC时,使用retain、release或autorelease将是一个编译器错误

它是自动进行垃圾收集和内存管理的吗?

实际上,它所做的是使用clang静态分析器为您放入保留和释放,所以它是一种垃圾收集,但不像传统的垃圾收集器。在这方面,它就像一个垃圾收集器,因为你不需要担心放入自己的保留和释放,但另一方面,与真正的垃圾收集器不同,强引用循环(以前称为保留循环)仍然会导致泄漏。

相关内容

最新更新