Actionscript 0.3 Variablen [geschlossen] - Actionscript-3

Ich bin neuer Benutzer von as3. Ich deklariere immer Variablen und verwende sie, aber ich lösche sie nicht aus dem Speicher, nachdem ich sie benutzt habe ((Behält der Speicher Variablen weiter oder löscht sie aus))

Bitte, ich brauche deine Hilfe

Antworten:

1 für die Antwort № 1

Wenn Sie mit Objektvariablen wie Sprites und Arrays fertig sind, können Sie sie wie folgt auf null setzen

var arr:Array = new Array (1,2,4,7); //create an array
//do whatever you need to
arr = null; //now the array is "deleted" and flash will remove it from memory

Nicht-Objekt-Variablen wie Zahlen und Ints können nichtgelöscht werden, soweit ich weiß, aber wenn Sie das Objekt löschen, das sie hält (auf Null setzen), werden sie entfernt, da sie Teil des Objekts sind, das sie enthält

kann nicht versprechen, dass das stimmt, aber ich hoffe es hilft :)


0 für die Antwort № 2

Nachdem sie den Spielraum verlassen haben? Es wird den Speicher gebunden halten, bis der Garbage Collector ausgeführt wird. Wenn Sie andere Verweise auf diesen Speicherbereich haben, die sich noch im Bereich befinden, wird der Garbage Collector es nur dort belassen. Aber wenn jede Referenz vollständig außerhalb des Bereichs ist (was bedeutet, dass Sie nicht mehr auf diesen Speicher in Ihrem Code zugreifen können), es wird nur irgendwie im Hintergrund verweilen, außerhalb Ihrer Kontrolle, bis es schließlich vom Garbage Collector an das Betriebssystem zurückgegeben wird.

Das ist etwas abschweifend, aber im Fall von AS3die virtuelle Maschine tendiert dazu, einen Teil des Speichers aus dem Betriebssystem zu holen, und dann versucht sie, so viele Daten Ihres Programms wie möglich in diesen Teil zu bringen. Wenn in diesem Teil des Speichers kein Platz mehr ist, Ich werde noch ein paar mehr vom Betriebssystem holen und das alles zum ersten Teil hinzufügen. Dann wird es wieder versuchen, so viel wie möglich in diesen Brocken zu passen.

So wie ich mich an das erinnere - und ich könnte damit aufhörenein oder zwei Details - der Garbage Collector wird im Wesentlichen warten, bis die virtuelle Maschine mehr Platz benötigt, um den gesamten Speicher des Programms zu speichern. Bevor es dann tatsächlich mehr vom Betriebssystem bekommt, wird der Garbage Collector ausgeführt um zu sehen, ob es nur etwas Platz freimachen kann, den es bereits hat. Wenn während dieser Zeit etwas gelöscht wird, kann es dem Betriebssystem Speicher zurückgeben, oder es können einfach mehr Punkte in dem aktuellen Speicherbereich als verfügbar für die Verwendung gekennzeichnet werden. Aber es ist nicht wirklich wichtig, dem Betriebssystem bei jeder einzelnen Gelegenheit zufällige, individuelle Speicherbytes zurückzugeben.


-2 für die Antwort № 3

Die as3 behalten sie, lesen Sie das ..

http://www.skinkers.com/2010/10/08/memory-management-in-air-as3-flash-garbage-collection/

Att.


Am beliebtesten