Comunidad de diseño web y desarrollo en internet online

Aplicacion se pone lenta usando LoadVars

Citar            
MensajeEscrito el 16 Ago 2006 02:50 pm
Saludos!

Estoy creando una aplicacion la cual recoje de un file PHP una variable y dependiendo el resultado de esa variable el programa toma una accion.

El codigo dice asi:

//1er frame:


var stat:String;
var lv:LoadVars = new LoadVars();



//2nd frame:

function connection(IP:String) {
lv.onLoad = function(success:Boolean) {
if (success) {
stat = this.toString();
}
if (stat.charAt(4) == 1) {
var RadioStat:Boolean = true;
} else {
var RadioStat:Boolean = false;
}
trace(RadioStat);
};
lv.load("http://site.net/pingFlash.php?host="+IP);
}
connection("0.0.0.0");

// fin del codigo

ahora el problema es que cuando ejecuto el programa el mismo consume mas y mas memoria mientras mas tiempo transcurre, yo entiendo que esto es lo que se llama un "Memory Leak"
y tengo una idea de que el problema debe ser;

como este codigo esta dentro de un loop gracias a los frames 1 y 2 el comando de
"var lv:LoadVars = new LoadVars();" se esta cargando en cada iteracion causando que se consuma mas y mas memoria.

Ahora, no se como solucionar esto, lo ideal seria que al final del loop hubiece un tipo de Unload
para que en la proxima interacion vuelva a recojer esta variabl, la evalue y ejecute la accion sin asi poner lenta la aplicacion y la PC.

Por D0Ze

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Ago 2006 03:23 pm
2 frames a 12 fps (velocidad por defecto, si no la has cambiado)
Hace que haga seis "PING" cada segundo, eso es lo que lo hace lento... porqué no pones un stop(); en el segundo frame?
Porqué quieres un loop?

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

clabbrowser
Citar            
MensajeEscrito el 16 Ago 2006 06:58 pm
La razon del loop es para verificar la presencia de unos servidores de forma continua.
Esta aplicacion es basicamente un monitor, y pues tengo pensado hacerlo asi
para verificar la conexion entre ellos, por que son mas de uno.

ese codigo lo tengo pensado implementar dentro de un MC para que haga esa
rutina interna mientras el monitor esta haciendo otras cosas en el fondo.

Si tienes alguna sugerencia o idea de como hacer esto de una forma mas eficiente
me dejas saber. Realmente aprecio cualquier ayuda.

Por D0Ze

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Ago 2006 07:03 pm
pon

setInterval(conection,5000,"0.0.0.0");
stop();

en el segundo frame

lo que hará será llamar a la función connection cada 5000 milisegundos (5 segundos es un tiempo razonable) asándole el parámetro "0.0.0.0"

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

clabbrowser
Citar            
MensajeEscrito el 16 Ago 2006 07:28 pm
Funciona!! ^^b
Gracias mil por la ayuda =D

Por D0Ze

10 de clabLevel



 

firefox

 

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