Ostatnio odkryłem, że ciągle piszę na liście RemoveEventListeners wszędzie, co sprawia, że kod jest dość brudny. Wiem, że to najlepsza praktyka i takie, ale ogólnie nie ma sensu. Garbage collector sam powinien sobie poradzić z tak prostym zadaniem, nieprawdaż? Czy trudno jest automatycznie usunąć wszystkie detektory, gdy obiekt ma wartość NULL?Action Script: Czy ustawienie obiektu na wartość null powoduje automatyczne usunięcie wszystkich dołączonych detektorów zdarzeń?
Po prostu chcę się upewnić, czy tak jest. Czy ustawienie obiektu na wartość null powoduje automatyczne usunięcie wszystkich podłączonych detektorów zdarzeń?
Wszelkie informacje na ten temat?
UPDATE: W moim przypadku jest to tak - ja utworzyć obiekt i dołączyć kilka detektorów zdarzeń do niego, a następnie po pewnym czasie trzeba ponownie zainicjować ten obiekt. Oczywiście ustawienie tego obiektu na wartość zerową jest znacznie łatwiejsze niż ręczne rozłączenie każdego słuchacza. I w większości słuchacze są anonimowymi funkcjami, co oznacza, że nie jest to możliwe bez refaktoryzacji kodu. Kiedy po prostu ponownie zainicjuję zmienną nowa, nie otrzymuję duplikatów i takich, ale nie jestem pewien, czy to była poprzednia wartość, a wszyscy słuchacze zbierają śmieci. Czy to jest?
Casalib to dobry zestaw klas, które pomogą uprościć zbieranie śmieci. Przydatne, gdy masz mnóstwo wyświetlanych obiektów. – redconservatory
+1 dla casalib - http://as3.casalib.org/docs/org_casalib_display_CasaMovieClip.html sprawdź funkcję removeChildrenAndDestroy() – Daniel