(Je ne suis pas sûr de ça, mais ...)
AS3 utilise un garbage collection non déterministe, ce qui signifie que la mémoire déréférencée sera libérée chaque fois que le runtime en a envie (généralement pas à moins qu'il n'y ait une raison de s'exécuter, car c'est une opération coûteuse à exécuter). Il s'agit de la même approche utilisée par la plupart des langages de récupération de place modernes (comme C # et Java également).
En supposant qu'il n'y ait aucune autre référence à la mémoire pointée par byteArray
ou aux éléments du tableau lui-même, la mémoire sera libérée à un moment donné après que vous ayez quitté la portée où byteArray
est déclaré.
Vous pouvez forcer un garbage collection, bien que vous ne devriez vraiment pas. Si vous le faites, faites-le uniquement pour les tests. Si vous le faites en production, vous nuirez bien plus aux performances que vous ne les aiderez.
Pour forcer un GC, essayez (oui, deux fois):
flash.system.System.gc();
flash.system.System.gc();
Vous pouvez en savoir plus ici .