【问题标题】:If I start learning iOS development now, should I use the garbage collection feature?如果我现在开始学习 iOS 开发,我应该使用垃圾回收功能吗?
【发布时间】:2012-09-15 09:19:10
【问题描述】:

....还是我应该学会自己管理内存?

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

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

【问题讨论】:

    标签: ios memory memory-management


    【解决方案1】:

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

    【讨论】:

    • +1。 ARC 使您免于编写样板内存管理代码,并且它进行了一些优化,但您仍然需要了解发生了什么。
    【解决方案2】:

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

    这是来自 Apple 文档

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-09
      • 1970-01-01
      • 2010-09-20
      • 1970-01-01
      • 2018-12-20
      • 1970-01-01
      • 2018-07-07
      • 1970-01-01
      相关资源
      最近更新 更多