【问题标题】:Is there any garbage collector concept available in iOS?iOS 中是否有可用的垃圾收集器概念?
【发布时间】:2012-06-22 19:57:18
【问题描述】:

iOS 中是否有任何可用的垃圾收集器概念?如果有,请指导我们如何使用,是否推荐?

【问题讨论】:

  • 您需要哪些方面的指导?您是在问是否有办法显式调用垃圾收集器?
  • @p.campbell 那个骗子已经很老了,答案已经改变了。您链接的 Q 的答案都是“使用保留/释放”类型,但这些天的首选答案是使用 ARC。
  • Caleb:这不正是 SO 的工作原理吗?随着世界的变化,问题和答案应该是活生生的。应在此处放置“在 iOS 5 中,您可以执行 xyz”等答案。对于每个 iOS 版本,此问题可能会被问 50 次。我们应该有一个规范的问题,其余的都作为骗子关闭。

标签: ios memory-management garbage-collection


【解决方案1】:

iOS 下没有垃圾收集器。相反,只需使用自动引用计数 (ARC)。 ARC 将为您处理大部分内存管理,而无需垃圾收集器的运行时开销。

请注意,尽管 MacOS X 确实支持垃圾回收,GC will be deprecated in favor of ARC in MacOS X 10.8。因此,即使在桌面上,ARC 现在也是首选解决方案。

【讨论】:

    【解决方案2】:

    您希望获得哪些指导?您是在问是否有办法显式调用垃圾收集器?因为据我所知 iOS 没有垃圾收集(查看 ARC 自动引用计数)。 即使在使用像 java 这样的语言确实有 GC 时,用户也不能调用 GC,我们只能请求 GC 并且系统会执行,但我们不知道垃圾收集到底什么时候会发生。

    垃圾收集通常是由系统调用而不是由用户调用的进程,因为这个垃圾收集“线程”(通常称为守护线程,因为它具有最低优先级)是根据系统需要调用的,因此它可能在应用程序的生命周期中被多次调用,如果它存在于 iOS 中,它将导致 iphone 的电池寿命非常糟糕,因为 GC 会消耗电池寿命,因此我们在使用 iOS 应用程序时使用 alloc 和 release 命令.

    【讨论】:

      猜你喜欢
      • 2013-10-06
      • 1970-01-01
      • 2021-05-25
      • 1970-01-01
      • 2013-11-16
      • 1970-01-01
      • 2010-12-21
      • 1970-01-01
      • 2023-03-07
      相关资源
      最近更新 更多