Supprimer un objet de la mémoire / GC / Fuite mémoire

Résolu
cs_aKheNathOn Messages postés 575 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 23 octobre 2012 - 30 juin 2009 à 15:47
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 4 juil. 2009 à 14:34
Bonjour,

Sous AS3 / Flash 10 :
J'ai une classe de type coverflox étendant un MovieClip. Elle charge une liste d'images.

Je fais bien en removeChild dans ma classe et sur la scéne, j'affecte bien la valeur null, en mode débug la variable est bien nulle mais impossible de récuperer la mémoire utilisée, et pire, en refesant le chargement la mémoire utilisée augmente.

Merci d'avance pour votre aide, j'ai passé des heures à chercher une solution sur google, je vois pas.

aKheNAtHoN

3 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
30 juin 2009 à 23:15
Bonjour,

Ton problème est "normal", il faut attendre le passage du Garbage Collector (le "camion poubelle" en mémoire de flash) pour récupérer la mémoire.
Cependant, il ne fonctionnera que si ton élément n'a plsu d'interaction tels que des écouteurs ou des éléments en cours d'exécution (Timer, Tween, etc...).
C'est automatique et tu ne peux pas le déclencher, c'est une gestion interne du player.

Peg'
3
cs_aKheNathOn Messages postés 575 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 23 octobre 2012
4 juil. 2009 à 14:02
Salut Pagase31,

Merci pour ta réponse, c'est effectivement la piste que j'ai suivi. Mon problème (que j'ai en partie réglé) venais des addEventListener et des clonage d'instances.

Pour info j'ai trouvé une commande forçant le garbage à collecter : System.gc(). Pour AS 2.0 y'à un hack avec le sharedObject.

C'est quand même une grosse galère quand tu passes de AS2 à AS3, l'instanciation dynamique est à regarder de prêt ... et dommage qu'il n'existe pas de destructeur dans la déclaration des classes.

A+ et bonne prog,
Akh
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
4 juil. 2009 à 14:34
Cette fonction existe toujours, mais requiert flash ou air, et je doute qu'elle fonctionne sur une page web.

Peg'
0
Rejoignez-nous