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

Dan*_*ark 8 iphone garbage-collection xamarin.ios

众所周知,Apple不会在iPhone上提供自动垃圾收集以延长电池寿命.然而据报道,MonoTouch应用程序在iPhone上完美运行(许多通过AppStore销售,因此得到Apple批准),确实有自动垃圾收集功能.

  1. 这是自动垃圾收集,还是MonoTouch只管理所有的retain/release东西?
  2. 如果是自动垃圾收集,那不就是电池耗尽吗?

编辑:如果您对#1的回答是"是"而您对#2的回答是"否",为什么?

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

Iva*_*van 6

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