iPhone,没有垃圾收集:MonoTouch怎么样?

时间:2010-05-12 11:28:47

标签: iphone garbage-collection xamarin.ios

众所周知Apple does not provide automatic garbage collection on the iPhone to prolong battery life。然而据报道,MonoTouch应用程序在iPhone上完美运行(许多通过AppStore销售,因此得到Apple批准),确实有自动垃圾收集。

  1. 这是自动垃圾收集,还是MonoTouch只管理所有retain/release内容?
  2. 如果是自动垃圾收集,那不会耗尽电池吗?
  3. 编辑:如果您对#1的回答是“是”而您对#2的回答是“否”,为什么?

    历史编辑:应该注意的是,Apple决定采用不同的iOS 5.0路线并实施ARC(同时允许针对相同SDK编译的代码也能在iOS 4.x上运行) )。

1 个答案:

答案 0 :(得分:6)

是的,它有真正的垃圾收集。 MonoTouch基于Mono。其中使用Boehm-Demers-Wiser Conservative Garbage Collector(压缩垃圾收集器正在开发中)。它能够自动收集未引用的对象。在电池寿命方面,使用Objective#C / C ++ / C时使用C#和.NET将不太理想,因为需要更多的CPU时钟才能完成相同的工作,但如果你的应用程序不是CPU密集型,这可能是可以忽略不计。我认为你不会对电池寿命产生显着影响。