10.6 Speicherbereiniger/Garbage Collector

Hollywood wird seinen Speicherbereiniger von Zeit zu Zeit aufrufen, während das Skript ausgeführt wird. Der Speicherbereiniger verwaltet alle von Ihrem Skript zugewiesenen Ressourcen und entlastet den gesamten Speicher, der nicht mehr benötigt wird. Beispielsweise:

 
Print("Hello World")

Nachdem Hollywood den Print() Befehl aufgerufen hat, um den Speicher für die Zeichenfolge "Hello World" zu zuweisen, wird der Speicherbereiniger diesen Speicher wieder freigegeben, da er nicht mehr benötigt wird. Sie können den Speicherbereiniger unterstützen, indem sie Variablen Nil zuweisen, wenn Sie sie nicht mehr brauchen. Dies ist besonders für lange Zeichenketten oder umfangreiche Tabellen nützlich, z.B.

 
a = {}
For k = 1 To 1000
    a[k] = {e1 = x, e2 = y}
    x = x + 5
    y = y + 5
Next

Dieser Code erstellt eine ziemlich umfangreiche Tabelle, die einiges an Speicher Ihres Systems einnimmt. Wenn Sie diese Tabelle nicht mehr benötigt, weisen Sie ihr einfach Nil zu, z.B.

 
a = Nil

Der Speicherbereiniger wird dann die von dieser Tabelle belegten Speicher freigeben.

Es wird auch dringend empfohlen, dass Sie lokale Variablen verwenden, wann immer und wo immer es möglich ist. Der Speicherbereiniger kann automatisch lokale Variablen freigeben, wenn deren Bereich endet (zum Beispiel am Ende einer Funktion). Siehe Lokale Variablen für Details.


Navigation zeigen