Últimamente me he encontrado constantemente escribiendo removeEventListeners en todas partes, lo que hace que el código sea bastante complicado. Sé que es una buena práctica y tal, pero en general no tiene sentido. El recolector de basura debería manejar una tarea tan simple en sí misma, ¿no es así? ¿Es tan difícil eliminar todos los oyentes automáticamente cuando el objeto se establece en nulo?Secuencia de comandos de acción: ¿Establecer un objeto como nulo elimina automáticamente todos los detectores de eventos adjuntos?
Así que solo quiero estar seguro si ese es el caso. ¿Establecer el objeto como nulo elimina automáticamente todos los detectores de eventos adjuntos?
¿Alguna idea sobre esto?
ACTUALIZACIÓN: En mi escenario es como esto - se crea un objeto y adjuntar montón de detectores de eventos a la misma, a continuación, después de un tiempo que necesito para volver a inicializar este objeto. Por supuesto, establecer este objeto como nulo es mucho más fácil que desvincular a cada oyente a mano. Y en la mayoría de los casos, los oyentes son funciones anónimas, lo que significa que no es posible sin la refacturación del código. Cuando simplemente vuelvo a inicializar una variable con new no obtengo oyentes duplicados y tal, pero no estoy seguro de que sea un valor anterior, junto con todos los oyentes se recogen basura. ¿Lo es?
Casalib es un buen conjunto de clases que lo ayudarán a simplificar la recolección de basura. Útil para cuando tienes un montón de objetos de visualización. – redconservatory
+1 para casalib - http://as3.casalib.org/docs/org_casalib_display_CasaMovieClip.html echa un vistazo a la función removeChildrenAndDestroy() – Daniel