Hemos venido trabajando en este proyecto durante varios meses, sudando las duras y las maduras. Pero hemos logrado conciliar temas que ojalá otras personas al leer esta entrada les sean más sencillos de solucionar.
Hace más de dieciocho meses que empezamos a elaborar código con AS3, en ese entonces con un proyecto con una multinacional, en el cual nos lanzamos al agua con la firme convicción de que después no fuera más traumática la vuelta. Nos fué muy bien. Documentar el código fué más fácil y trabajar en equipo aún más.
En este proyecto en particular QuieroMiAlpin.com, trabajamos de la mano de iLEO y de sus otros proveedores.
Como nosotros veníamos trabajando el proyecto desde el inicio establecionos un protocolo donde no se cargaban clips de película sino SWF’s independientes. Nuestra misión era mantener un proyecto súper optimizado y verificar que todos hicieran lo mismo. En algún momento, nos empezamos a dar cuenta que la memoria al cargar ciertos componentes no se liberaba y se sumaba cuando se volvían a cargar, fue cuando se evidenció una gran falla documentada por Grant Skinner en su blog en el que se demuestra que la codificación en la línea de tiempo de Flash no se libera ni siquiera destruyendo cada uno de los eventos instanciados. El tema es que la referencia de un código en línea de tiempo es el escenario mismo ergo cuando al evento se le dice que se destruya, la referencia sigue siendo el escenario que nunca se va a destruir per sé y se resiste a desaparecer.
El problema de pronto no se hace evidente en una página sencilla que cargue un juego o un pantallazo informativo pues al final esa carga en memoria no se nota. En nuestro caso, la idea era optimizar hasta el último mapa de bits pues la página era muy robusta y estaba consumiendo mucho recurso del procesador, si se quedaban en memoria sin descargar 300KB o 400KB era un tema importante.
El tema es bien complejo y esperemos que Adobe Flash atienda los llamados de reparación del tema por ahora escribir en un lenguaje más sofisticado, con el código en clases externas es la solución más fácil y efectiva.
Mas info: www.gskinner.com/blog/archives/2008/04/failure_to_unlo.html
.
You must be logged in to post a comment.