Foro

como destruir los items de un window

0
Hola estoy creando una aplicacion y me gustaria saber si hay una opcion para destruir todos lo items de ese window en el on close para liberar memoria. Un ejemplo
 var panel=ew Ext.Panel({
     .........
});
var ventana=new Ext.Window({
				animateTarget: 'ventanaEmergente',
				loadMask:true,				
				bodyStyle:"text-align:left",
				border: true,
				closable: true,
				constrain: true,
				constrainHeader: true,
				modal: true,
				resizable: false,
				shadow: true,
				title: 'Ventana Email',
				items:[panel],				
				width:543,
				height:400
                                .......
				
			});	
al cerrar la ventana no se destruye la variable panel Como hacerlo en on close?
0
Sería mejor ponerlo en el evento "destroy" ahi puedes liberar la memoria. Ext cuenta con un grarbage collector para liberar memoria automáticamente, cada 30 segundos se ejecuta "Ext.Element.garbageCollect", pero si quieres ahcerlo manualmente te recomiendo el evento "destroy" saludos
0
entonces no hace falta que haga nada??ext se encarga solo con el Ext.Element.garbageCollect?? Ok menos trabajo <!-- s;) --><!-- s;) --> Gracias stock
0
Asi es, checa el código para que lo veas por ti mismo <!-- s;) --><!-- s;) --> (Element.js) el garbage collector se ejecuta cada 30 segundos. Element.js
// private
// Garbage collection - uncache elements/purge listeners on orphaned elements
// so we don't hold a reference and cause the browser to retain them
El.garbageCollect = function(){
    if(!Ext.enableGarbageCollector){
        clearInterval(El.collectorThread);
        return;
    }
    for(var eid in El.cache){
        var el = El.cache[eid], d = el.dom;
        // -------------------------------------------------------
        // Determining what is garbage:
        // -------------------------------------------------------
        // !d
        // dom node is null, definitely garbage
        // -------------------------------------------------------
        // !d.parentNode
        // no parentNode == direct orphan, definitely garbage
        // -------------------------------------------------------
        // !d.offsetParent && !document.getElementById(eid)
        // display none elements have no offsetParent so we will
        // also try to look it up by it's id. However, check
        // offsetParent first so we don't do unneeded lookups.
        // This enables collection of elements that are not orphans
        // directly, but somewhere up the line they have an orphan
        // parent.
        // -------------------------------------------------------
        if(!d || !d.parentNode || (!d.offsetParent && !document.getElementById(eid))){
            delete El.cache[eid];
            if(d && Ext.enableListenerCollection){
                Ext.EventManager.removeAll(d);
            }
        }
    }
}
El.collectorThreadId = setInterval(El.garbageCollect, 30000); //AQUI ES DONDE TE DIGO QUE SE EJECUTA CADA 30 SEGUNDOS ;)
var flyFn = function(){};
flyFn.prototype = El.prototype;
var _cls = new flyFn();
saludos

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.