iOS中是否有可用的垃圾收集器概念?如果是,请指导我们如何以及推荐与否?
答案 0 :(得分:3)
iOS下没有垃圾收集器。相反,只需使用自动引用计数(ARC)。 ARC将为您完成大部分内存管理,而不会产生垃圾收集器的运行时开销。
请注意,尽管MacOS X支持垃圾回收,GC will be deprecated in favor of ARC in MacOS X 10.8。因此,即使在桌面上,ARC也是首选解决方案。
答案 1 :(得分:0)
您想要什么指导?你在问是否有办法显式调用垃圾收集器?因为据我所知iOS没有垃圾收集(看看ARC自动引用计数)。 即使在使用像具有GC的java这样的语言时,用户也无法调用GC,我们只能请求GC并且系统将有义务但我们不知道何时会发生垃圾收集。
垃圾收集通常是由系统调用而不是由用户调用的进程,因为系统根据需要调用此垃圾收集“线程”(通常称为守护程序线程,因为它具有最低优先级),因此可能因此在应用程序的生命周期中多次调用,如果它存在于iOS中,它将导致iphone的电池寿命非常糟糕,因为GC会削弱电池寿命,因此我们在使用iOS应用程序时使用alloc和release命令