【发布时间】:2012-07-08 00:09:32
【问题描述】:
可能重复:
What is the difference between Objective-C automatic reference counting and garbage collection?
iOS 使用 ARC。但真的更好吗?是更适合移动平台还是总体上更好?
【问题讨论】:
标签: garbage-collection automatic-ref-counting
可能重复:
What is the difference between Objective-C automatic reference counting and garbage collection?
iOS 使用 ARC。但真的更好吗?是更适合移动平台还是总体上更好?
【问题讨论】:
标签: garbage-collection automatic-ref-counting
总体来说比较好。当编译器可以生成不会留下垃圾的代码时,你为什么要忍受垃圾收集器的运行时开销? ARC 在没有垃圾收集器的情况下为您提供垃圾收集的内存管理便利。
【讨论】:
-retain 和 -release 过去曾被称为重大性能问题。您是否有任何测量结果表明它们存在问题? ARC 与开发人员之前为管理内存所做的相同,只是它在编译代码时自动执行。我支持这个答案,但欢迎您发表自己的意见——没有理由对内存管理“生气”。至于 Apple:他们不止一次地切换 处理器 并且有一个正常工作的 GC;我怀疑框架问题导致他们选择了 ARC。