Comunidad de diseño web y desarrollo en internet online

ActionScript 3: Loader.unloadAndStop() ?? (Garbage Colector)

Citar            
MensajeEscrito el 30 Ene 2009 05:30 pm
Hola como estan??
Estoy viendo la manera de optimizar código AS3, ya que estoy utilizando el FlashPlayer 10, si si vasta de versiones viejas :latigo: ..

Pero la verdad que el echo e borrar todos los Listeners y esperar a que el "Garbage Colector" pase, requiere de mucho mas codigo y acumulación de memoria.. :crap:

Pero me encontré con esta funcion nueva loader.unloadAndStop() que dice que supuestamente remueve todo los Listeners y fuerza al Garbage Colector a pasar...

Pero lo probe y efectivamente en el SDK de Flex 3.2 ya aparece esa funcion disponible..



Pero no todo es color de rosa U_U cuándo ejecuto la pelicula en flash , con flash player 10, me sale este error:

FlashPlayer10 escribió:

Error #2044: IOErrorEvent no controlado: text=Error #2036: No se completó la carga.


Alguien ya implemento esta Funcion??? y como se debe de usar correctamente?

Saludos.

Por phoxer

Claber

827 de clabLevel

4 tutoriales

Genero:Masculino  

Ing en Sistemas

firefox
Citar            
MensajeEscrito el 30 Ene 2009 06:07 pm
Aca esta la Referencia de Loader.UnloadAndStop() en Español de Adobe

http://help.adobe.com/es_ES/AS3LCR/Flash_10.0/flash/display/Loader.html#unloadAndStop()
(copien y peguen porque no me permite ponerlo como link, nose porque)..

Pero al parecer para que funcione tiene que estar montado en un Servidor, porque al ejecutarlo directamente en el Flash me laza el error mencionado, pero sobre un servidor, funciona bien.. ahora falta solamente hacer las pruebas necesarias :wink:

Por phoxer

Claber

827 de clabLevel

4 tutoriales

Genero:Masculino  

Ing en Sistemas

firefox
Citar            
MensajeEscrito el 30 Ene 2009 06:58 pm
:twisted: :twisted: El Flex me reconose la Funcion


pero después (en proyectos Flex) me tira

Flex 3 escribió:

1061: Llamada a un método unloadAndStop posiblemente no definido mediante una referencia con tipo estático flash.display:Loader.


:twisted: :twisted: para que me la habilita para usar si después me dice que no es un método definido.. :twisted:

Por phoxer

Claber

827 de clabLevel

4 tutoriales

Genero:Masculino  

Ing en Sistemas

firefox
Citar            
MensajeEscrito el 31 Ene 2009 01:26 am
Phoxer no se si me equivoco.....pero lo probaste dentro de un try / catch?
Ese error te dice que es un error no controlado..... la verdad nunca use ese metodo, pero probaria eso

Slds!

Por Creattive

120 de clabLevel

1 tutorial

Genero:Masculino  

Adobe AIR/Flex developer

firefox
Citar            
MensajeEscrito el 31 Ene 2009 10:36 pm

Creattive escribió:

Phoxer no se si me equivoco.....pero lo probaste dentro de un try / catch?
Ese error te dice que es un error no controlado..... la verdad nunca use ese metodo, pero probaria eso

Slds!


No tube tiempo de ver que onda porque se me daño el flex en el trabajo :twisted: :twisted: pero ya voy a hacer las pruebas para ver que es lo que falla, pero si este metodo funciona como dicen seria muy util..

Por phoxer

Claber

827 de clabLevel

4 tutoriales

Genero:Masculino  

Ing en Sistemas

firefox
Citar            
MensajeEscrito el 02 Feb 2009 04:18 pm
Como va phoxer, todo bien?

Proba esta funcion para eliminar los loaders...

Código ActionScript :

package com.core.utils.loaders
{
   import flash.display.Loader;
   import flash.errors.IllegalOperationError;
   
   public class ClearLoaders
   {
      public function ClearLoaders()
      {
         throw new IllegalOperationError("ClearLoaders is static. It don't create intances"); 
      }
      
      static public function unload(loader:Loader):void
      {
         try
         {
            loader.unloadAndDestroy()
         }
         catch (e:Error)
         {
            loader.unload();
         }
      }
   }
}

y luego

Código ActionScript :

ClearLoaders.unload(miLoader);


Por otro lado... el sdk 3.2 de flex... lo pudiste instalar bien?? A mi me funca para atras... y ensima siempre q lo bajo le faltan librerias y los archivos constantes de idioma... vos tuviste problemas con esas cosas??

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 03 Feb 2009 01:53 am
Como estas, tanto tiempo, ya no me conecto tan seguido, oye esta buena la forma te tratar la funcion asi, gracias, lo voy a probar.

alfathenus escribió:


Por otro lado... el sdk 3.2 de flex... lo pudiste instalar bien?? A mi me funca para atras... y ensima siempre q lo bajo le faltan librerias y los archivos constantes de idioma... vos tuviste problemas con esas cosas??


A mi al principio me andaba mal, es mas creo yo postie el problema anteriormente, y lo solucione haciéndole un update al Flex, que ya directamente te coloca el ultimo SDK.

Te dejo saludos y gracias..

Por phoxer

Claber

827 de clabLevel

4 tutoriales

Genero:Masculino  

Ing en Sistemas

firefox
Citar            
MensajeEscrito el 03 Feb 2009 03:15 pm
Como andas?

Voy a probar lo q me decis... a ver si me funciona.... porq yo estoy usando la 3.2 pero faltan un monton de clases y demas cosas...

Con respecto a tu problema... como recomendacion te digo q aun q utilices el unloadAndDestroy no le tengas tanta fe... igualmente elimina todas las referencias y listeners q tengas a manopla antes de hacer el unload.... porq si queda alguna referncia sucia o circular no se te va a borrar.... Si estas usando Flex, podes usar el Profiling para ver las referencias de los objetos en tiempo real

Postee en tips, una mejora de la clase q te pase antes... mira
http://foros.cristalab.com/manejando-la-memoria-de-flash-player-t68118/

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 03 Feb 2009 03:36 pm

alfathenus escribió:


Con respecto a tu problema... como recomendacion te digo q aun q utilices el unloadAndDestroy no le tengas tanta fe... igualmente elimina todas las referencias y listeners q tengas a manopla antes de hacer el unload.... porq si queda alguna referncia sucia o circular no se te va a borrar.... Si estas usando Flex, podes usar el Profiling para ver las referencias de los objetos en tiempo real


Que haces, toto bien?
Y si tenes razon, a veces es mejor estar seguro U_U y borrar todo a mano.. es mejor acostumbrarse.

alfathenus escribió:


Postee en tips, una mejora de la clase q te pase antes... mira
http://foros.cristalab.com/manejando-la-memoria-de-flash-player-t68118/


Probe el link pero no anda, hoy o mañana voy a ver si adapto algo de esto en la clase de Loader que yo utilizo y luego te cuento.. :)

Saludos ..

Por phoxer

Claber

827 de clabLevel

4 tutoriales

Genero:Masculino  

Ing en Sistemas

firefox
Citar            
MensajeEscrito el 03 Feb 2009 04:05 pm
Mmm raro... yo lo probe recien y andubo el link

Bueno, dale cualquier cosa me decis :)

Saludos!

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.