....或者我应该学会自己管理记忆?
依赖iOS 5的垃圾收集功能可以吗?
我是新手,我正在考虑尽快学习iOS。
答案 0 :(得分:5)
iOS没有垃圾收集; iOS5 SDK引入了ARC(自动引用计数),这与真正的垃圾收集略有不同。您仍然需要了解和理解引用计数的语义,因为通过不使用强引用周期等来避免内存泄漏仍然是您的责任,即使使用ARC也是如此。但无论如何,继续使用ARC,它确实使大多数代码更简单。
答案 1 :(得分:3)
为了澄清更多ARC是编译时功能,编译期间编译器会为您添加代码以释放对象,因此作为开发人员,您无需担心这一点。另一方面,垃圾收集是一个运行时功能,它会跟踪所有引用计数并自动释放引用计数为0的任何对象。
这是来自Apple doc
Objective-C的自动引用计数(ARC)使内存成为可能 管理编译器的工作。通过使用新的Apple启用ARC LLVM编译器,您永远不需要再次键入retain或release, 大大简化了开发过程,同时减少了开发过程 崩溃和内存泄漏。编译器完全了解 你的对象,并在它不再是瞬间释放它们 使用,所以应用程序运行速度与以往一样快,可预测,流畅 性能
如果您计划从头开始开发应用程序,请确保使用ARC。