J'ai une classe qui est appelée un certain nombre de fois. Lorsque l'application passe à l'étape suivante, celles-ci doivent toutes être déchargées. Pour cette raison, j'ai créé une méthode unload() dans la classe. Le problème est que je n'arrive pas à mettre ma variable uint "charId" à zéro pour la "désinstaller". La commande "delete" n'est pas non plus possible car elle ne s'applique qu'aux variables dynamiques ou à quelque chose de ce genre.Comment puis-je supprimer un entier (non signé) dans ActionScript/Flex 3?
Maintenant, je me demande, comment suis-je censé désactiver cette variable, donc sa mémoire sera ré-allouée plus tard?
méthode de déchargement de la classe:
public function unload():void
{
trace("Unloading character with charname '" + charName + "'.");
enterButton.removeEventListener(MouseEvent.CLICK, enterClicked);
removeChild(enterButton);
enterButton = null;
charName = null;
charId = null; //this is possible but not recommended - what's a better way?
lobbyInterface = null;
}
Alors oui, il est possible dans la pratique, car il modifie le type de variable - mais il est pas recommandé et d'élever un avertissement. Alors, quelle est la meilleure façon de le faire?
Notez que cet objet est également déchargé dans son parent. Est-ce que cela libère aussi toutes ces variables de la mémoire?
Y at-il un moyen pour moi de déboguer l'application et voir à quels objets sont référencés à ce moment-là? De cette façon, je peux voir si cela va vraiment être ramassé – Tom
@Tom - le Profiler (disponible dans la version Pro de Flex) vous donnera cette information. 500 $. Ça vaut vraiment le coup, OMI, si vous avez l'argent. L'API Profiler est cependant exposée. Probablement complètement infaisable pour construire le vôtre, mais peut-être vous pouvez obtenir juste la tranche de fonctionnalité dont vous avez besoin. http://livedocs.adobe.com/flex/3/html/help.html?content=profiler_3.html –
@Tom - vous pouvez également consulter l'article sur la récupération de place dans AS. Il y a certainement d'autres articles, mais c'est de facto "à lire". http://www.adobe.com/devnet/flashplayer/articles/garbage_collection.html –