Verwenden des Garbage Collectors

Die BlackBerry Java Virtual Machine enthält den Garbage Collector, der regelmäßig ausgeführt wird, um Objekte aus dem Speicher zu entfernen, auf die nicht oder nur unzulänglich verwiesen wird. Rufen Sie nicht den Garbage Collector direkt auf, sondern stellen Sie Ressourcen frei, indem Sie deren Referenzen nach der Verwendung auf den Wert Null setzen.

Vollständige Garbage Collection auf einem BlackBerry-Gerät

Ein vollständiger Garbage Collection-Vorgang dauert durchschnittlich 1 Sekunde und sollte insgesamt weniger als 2 Sekunden in Anspruch nehmen. Der vollständige Garbage Collection-Vorgang umfasst die folgenden Aktionen:

  • Führt einen Garbage Collection-Vorgang für den Arbeitsspeicher aus.
  • Kennzeichnet Objekte im Flash-Speicher, auf die kein Verweis mehr zeigt oder die nicht mehr permanent sind.
  • Gibt nicht permanente Objekt-Handles im Arbeitsspeicher und im Flash-Speicher frei.

In den folgenden Situationen startet das System ggf. einen vollständigen Garbage Collection-Vorgang:

  • Die BlackBerry Java Virtual Machine kann kein Objekt mehr zuordnen, weil kein Speicherplatz mehr im Arbeitsspeicher verfügbar ist.
  • Ein Prozess steht kurz davor, seine derzeit zugeordnete Heap-Größe zu überschreiten.
  • Die BlackBerry JVM kann kein neues Objekt zuordnen, weil keine Objekt-Handles verfügbar sind.
  • Das BlackBerry-Gerät befindet sich im Ruhezustand.

Garbage Collection für den Arbeitsspeicher auf einem BlackBerry

Die BlackBerry Java Virtual Machine startet nur dann einen Garbage Collection-Vorgang für den Arbeitsspeicher, wenn die BlackBerry JVM aufgrund von mangelndem Arbeitsspeicher kein Objekt mehr zuordnen kann. Der Garbage Collection-Vorgang für den Arbeitsspeicher nimmt in der Regel 500 bis 600 Millisekunden in Anspruch. Beim Garbage Collection-Vorgang werden alle vor kurzem zugeordneten Variablen entfernt, auf die der Arbeitsspeicher nicht mehr verweist. Um sicherzustellen, dass ein fehlender Verweis aus dem Arbeitsspeicher eine ausreichende Bedingung zum Entfernen des Objekts ist, kann ein Garbage Collection-Vorgang für den Arbeitsspeicher nur dann durchgeführt werden, wenn keine Objekte in den Flash-Speicher ausgelagert wurden.

Garbage Collection bei Leerlauf auf einem BlackBerry-Gerät

Der Garbage Collection-Vorgang findet nicht jedes Mal statt, wenn sich das BlackBerry-Gerät im Leerlauf befindet. Dieser Vorgang wird nur dann gestartet, wenn das System einen Garbage Collection-Vorgang als förderlich für die optimale Systemleistung und die maximale Akkuleistung erkennt.

Um die Leistung zu erhöhen, ohne das Arbeitsumfeld der BlackBerry-Gerätebenutzer zu beeinträchtigen, versucht das System, die folgenden Garbage Collection-Vorgänge auszuführen, wenn sich das BlackBerry-Gerät im Leerlauf befindet:

  • Ein vollständiger Garbage Collection-Vorgang kann stattfinden, wenn das BlackBerry-Gerät über relativ kurze Zeit im Leerlauf ist.
  • Ein gründlicher Garbage Collection-Vorgang kann stattfinden, wenn das BlackBerry-Gerät über längere Zeit im Leerlauf ist.

Waren diese Informationen hilfreich? Senden Sie uns Ihren Kommentar.