iPhone, keine Garbage Collection: Was ist mit MonoTouch?

8

Es ist bekannt, dass Apple keine automatische Speicherbereinigung auf dem iPhone bietet verlängern Sie die Lebensdauer der Batterie . Doch MonoTouch-Apps, die angeblich perfekt auf dem iPhone laufen (und viele werden über den AppStore vertrieben, daher von Apple freigegeben), verfügen über eine automatische Garbage Collection.

  1. Ist das automatische Garbage Collection, oder verwaltet MonoTouch nur alle retain/release Sachen für dich?
  2. Wenn es sich um eine automatische Speicherbereinigung handelt, wäre das nicht eine Belastung für die Batterie?

Bearbeiten: Wenn Ihre Antwort auf # 1 "ja" ist und Ihre Antwort auf # 2 "nein" ist, warum?

Historical Edit: Es sollte angemerkt werden, dass Apple sich entschieden hat, eine andere Route für iOS 5.0 zu gehen und ARC zu implementieren (auch Code, der mit demselben SDK kompiliert wurde, funktioniert auch auf iOS 4.x) ).

    
Dan Rosenstark 12.05.2010, 11:28
quelle

1 Antwort

6

Ja, es hat echte Müllsammlung. MonoTouch basiert auf Mono. Welche verwendet Boehm-Demers-Wiser Konservativen Garbage Collector (kompakter Garbage Collector ist in Entwicklung). Es ist in der Lage, nicht referenzierte Objekte automatisch zu sammeln. Die Verwendung von C # und .NET ist weniger optimal als die Verwendung von Objective-C / C ++ / C in Bezug auf die Akkulaufzeit, da mehr CPU-Uhren benötigt werden, um den gleichen Job zu erledigen. Aber wenn Ihre App nicht CPU-intensiv ist, wäre dies wahrscheinlich unerheblich. Ich glaube nicht, dass Sie einen spürbaren Einfluss auf die Akkulaufzeit haben werden.

    
Ivan 12.05.2010, 11:52
quelle