0

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

4

2 回答 2

3

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

请注意,尽管 MacOS X 确实支持垃圾回收,但在 MacOS X 10.8 中将弃用 GC 以支持 ARC。所以 ARC 现在是桌面上的首选解决方案。

于 2012-06-22T20:02:08.477 回答
0

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

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

于 2012-06-22T20:09:09.193 回答