2

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

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

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

4

2 回答 2

5

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

于 2012-09-15T09:23:42.043 回答
3

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

这是来自苹果文档

Objective-C 的自动引用计数 (ARC) 使内存管理成为编译器的工作。通过使用新的 Apple LLVM 编译器启用 ARC,您将无需再次键入 retain 或 release,从而大大简化了开发过程,同时减少了崩溃和内存泄漏。编译器对您的对象有一个完整的了解,并在每个对象不再使用时立即释放它,因此应用程序运行速度与以往一样快,性能可预测且流畅。

如果您打算从头开始开发应用程序,请务必使用 ARC。

于 2012-09-15T09:27:24.627 回答