He leído mucho en foros sobre este problema y hablan de una solución que es el Garbage Collector. He implementado el recolector de basura y he revisado todo el código para ver que no se me halla quedado ningún extracto de código o alguna mala programación en donde se esté creando y/o no se esté eliminando algun movieclip cuando ya no lo utilizo.
Mi reproductor funciona de la siguiente manera: Tengo 3 Timer de los cuales el primero es el encargado de ejecutar una funcion "A" para el manejor del GC. El segundo Timer carga la función "B" que realiza un análisis de código XML en donde tengo el playlist. Esta función "B" verifica si el playlist es nuevo para cargarlo, de lo contrario no hace nada. El tercer Timer llama a una funciona "C" que carga los contenidos del playlist en un movieclip(swf) o un FlvPLayback(mp4,flv).
Cuando se ejecuta la "B" los child del playlist se guardan en un objeto "XMLList" y cada vez que halla algún cambio en el XML este objeto es recargado con la nueva información.
Al principio la forma de cargar los contenidos era eliminando todo objeto que existiera en el Stage (por cada carga de un nuevo contenido) y lo siguiente era crear un movieclip o FLVPlayback (según fuera el caso) y lo agrego al Stage modificando algunas propiedades para ajustar y posicionar dentro de la pelicula. Ahora lo que hago es crear 1 movieclip y 1 FLVPlayback desde el inicio y manejando sus instancias le cargo el contenido a uno u otro según corresponda.
Otra cosa que tengo trabajando es un envío de datos a una pagína web por medio de las clases "URLRequest" y "URLLoader" que se ejecuta cada vez que se exibe un nuevo contenido.
Todo el proceso funciona bien pero después de un tiempo me consume mucha memoria y aún no sé por donde puede estar el problema.
¿ Podría ser que los SWF Dinámicos que cargo puedan generar garbage que no es eliminado de la película principal ?
¿ Cuál es la mejor forma de manejar objetos para asegurarme que no están en memoria y si aún lo están poder enterarme por algúna funciona o algo similar para forzar la descarga ?
¿ El envío de datos a una página web podría generar basura ? ¿ Hay alguna forma borrar el objeto después del envío de datos ?
¿ Alguien tiene alguna ayuda para mejorar el rendimiento y funcionamiento de mi reproductor ?
Espero me puedan ayudar,
Gracias.
