如果我现在开始学习iOS开发,我应该使用垃圾收集功能吗?

时间:2012-09-15 09:19:11

标签: ios memory memory-management

....或者我应该学会自己管理记忆?

依赖iOS 5的垃圾收集功能可以吗?

我是新手,我正在考虑尽快学习iOS。

2 个答案:

答案 0 :(得分:5)

iOS没有垃圾收集; iOS5 SDK引入了ARC(自动引用计数),这与真正的垃圾收集略有不同。您仍然需要了解和理解引用计数的语义,因为通过不使用强引用周期等来避免内存泄漏仍然是您的责任,即使使用ARC也是如此。但无论如何,继续使用ARC,它确实使大多数代码更简单。

答案 1 :(得分:3)

为了澄清更多ARC是编译时功能,编译期间编译器会为您添加代码以释放对象,因此作为开发人员,您无需担心这一点。另一方面,垃圾收集是一个运行时功能,它会跟踪所有引用计数并自动释放引用计数为0的任何对象。

这是来自Apple doc

  

Objective-C的自动引用计数(ARC)使内存成为可能   管理编译器的工作。通过使用新的Apple启用ARC   LLVM编译器,您永远不需要再次键入retain或release,   大大简化了开发过程,同时减少了开发过程   崩溃和内存泄漏。编译器完全了解   你的对象,并在它不再是瞬间释放它们   使用,所以应用程序运行速度与以往一样快,可预测,流畅   性能

如果您计划从头开始开发应用程序,请确保使用ARC。