Garbage Collector Ausschalten/Stoppen

  • Antworten:4
Dark Blood Studios
  • Forum-Beiträge: 203

18.12.2011, 12:29:24 via Website

Hi, mit System.gc() kann man denn Garbage Collector ja starten.
Ist es auch möglich denn Garbage Collector so einzustellen, dass er nur ausgelöst wird wenn man ihn manuel startet?

Antworten
Gelöschter Account
  • Forum-Beiträge: 5.136

18.12.2011, 12:48:39 via Website

Soweit mir bekannt ist der Garbage Collector nicht abschaltbar und das ist auch gut so!

Warum willst Du den denn abschalten?

Er verrichtet notwendige Aufräumarbeiten im Hintergrund. Bei diesen Aufräumarbeiten werden die verschiedenen Generationen des Heaps (young generation, surviver space 1/2, old generation) von nicht mehr benötigten Variablen und Objekten befreit die ansonsten Deinen Heap in kürzester Zeit blockieren bzw. zumüllen würden.

lg Voss

Antworten
Dark Blood Studios
  • Forum-Beiträge: 203

18.12.2011, 12:58:47 via Website

Ich will eigendlich nur für kurze Zeiten den GC ausschalten, damit dort alles flüssig läuft und ihn dann arbeiten lassen wenn eine kurze Verzögerung egal ist.

Antworten
Markus B.
  • Forum-Beiträge: 636

18.12.2011, 12:58:59 via Website

Hallo,
da kann ich Jörg nur zustimmen. Was du da vorhast hört sich ziemlich komisch an. Evtl. kannst du dein Problem mal genauer ausführen und dann schauen wir mal was man dort machen kann :)
Es sei noch gesagt das der Aufruf von System.gc() nicht sicherstellt das der GC auch wirklich dann seine Arbeit erledigt. Eigentlich lässt man den GC einfach seine Arbeit machen. Wenn es zu speicher Problemen oder der gleichen kommt ist es immer ratsam seinen Code zu prüfen. Denn dort ist in der Regel der Fehler zu finden :)

Gruß,
Markus

Antworten
Gelöschter Account
  • Forum-Beiträge: 5.136

18.12.2011, 13:04:32 via Website

Vielleicht solltest Du mal den Memory Allocation Tracker aus dem DDMS benutzen um nachzusehen wann oder besser wo in Deinem Code wertvolle Zeit im allozieren von kurzlebigen Objekten verbraten wird.

Hier gibt es dazu was zum Nachlesen: http://developer.android.com/resources/articles/track-mem.html

lg Voss

Antworten