2010-01-07 5 views
0

Lorsque je détruis mes objets qui sont sur la scène. En général, je supprime simplementChild (this) et j'enlève les écouteurs d'événement de l'objet. est-ce tout ce que j'ai besoin de faire pour enlever complètement l'objet ??Détruire complètement les objets Flash

Répondre

0

Cela dépend de ce que vous avez dans la classe que vous avez utilisé, si elle est une classe chargée, vous devez décharger, si vous avez variable qui tient référence à d'autres DisplayObject vous devriez les null, etc ...

+0

en supprimant de la scène et en les définissant sur null. – numerical25

+0

Non, vous devrez supprimer l'écouteur d'événement – Patrick

+0

Bien que vous puissiez créer vos écouteurs d'événement avec des références faibles qui permettent à l'objet d'être récupéré dans le cas où l'écouteur d'événement est la dernière attente sur l'objet. – Aaron

3

Oui ... en quelque sorte.

Dans AS3, vous ne pouvez pas détruire des objets. Tout ce que vous pouvez faire est de supprimer toutes les références, ce qui les rend disponibles pour la récupération de place. La prochaine fois que le GC est lancé, il va les détruire si ils sont disponibles. C'est un très gros sujet, mais au fond, n'oubliez pas d'enlever toutes les références et vous allez dans la bonne direction. Notez également que ce code peut toujours être exécuté dans des objets disponibles pour GC, en quelque sorte impairs, mais il est important de le noter.

+0

Je devrais donc les supprimer pour l'objet d'affichage. puis les annuler? – numerical25

+0

Faites tout ce que vous devez pour supprimer toutes les références. Cela inclut les retirer de l'objet d'affichage. Si vous voulez savoir en détail comment cela fonctionne alors passez à la caisse http://www.gskinner.com/blog/archives/2006/06/as3_resource_ma.html – Allan

+0

Alan posté un bon lien, vérifiez cela. Mais oui, définitivement supprimer de la liste d'affichage, et annuler toutes les références. Assurez-vous d'arrêter et de minuteries, et de supprimer les écouteurs d'événements aussi! –

Questions connexes