PDA

Volledige versie bekijken : removeChild & eventListeners?


houseofdreams
%Europe/Berlin %956 %2009, 23:57
Hallo,

Simpele vraag voor de die-hards:

Situatieschets

Op de stage staat een MovieClip / Object / ... waar eventListeners aan vast hangen. Na dat dit Object zijn dienst bewezen heeft, wordt er van een goed programmeur verwacht, dat alle niet meer gebruikte items verwijderd worden met het removeChild commando en daarna op "null" wordt gezet.

De eigenlijke vraag

Moet je de eventListeners die aan dat Object / ... hangen ook verwijderen, of worden die automatisch verwijderd nadat dit Object / ... op null gezet is?

Rare vraag misschien, maar toch :)

Dauntless
%Europe/Berlin %961 %2009, 00:04
Ze worden niet standaard verwijderd. Je kan bij het toevoegen van een event listener echter wel aangeven dat het een 'weakReference' is:
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/events/EventDispatcher.html#addEventListener() Dat zal er voor zorgen dat het object toch door de GC kan meegenomen worden, ondanks dat er toch nog objecten naar verwijzen.

houseofdreams
%Europe/Berlin %962 %2009, 00:06
Ze worden niet standaard verwijderd. Je kan bij het toevoegen van een event listener echter wel aangeven dat het een 'weakReference' is:
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/events/EventDispatcher.html#addEventListener() (http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/events/EventDispatcher.html#addEventListener%28%29) Dat zal er voor zorgen dat het object toch door de GC kan meegenomen worden, ondanks dat er toch nog objecten naar verwijzen.

Ok, dan hou ik het simpel en verwijder ik ze gewoon "handmatig" met removeEventListener


Again, thanx... Je begint zowat mijn persoonlijke helplijn te worden :)