Tabpanel в Extjs4 имеет утечку памяти?

все! Я использую tablpanel в extjs4, обнаружил, что память в IE8 не уменьшилась при удалении панели в tabpanel, а также поднялась при повторном добавлении панели. Поэтому я пишу тест, как показано ниже:

Ext.onReady(function() {
var currentItem;
var tabs = Ext.createWidget('tabpanel', {
    renderTo: 'tabs',
    resizeTabs: true,
    enableTabScroll: true,
    width: 600,
    height: 250,
    defaults: {
        autoScroll:true,
        bodyPadding: 10
    }
});

var __my_task = '';
var i = 0;
try{
    __my_task = {
            run: function(){
                if (i % 2 == 0){
                    for(var j = 0; j < 10; j++){
                        addTab(true);
                    }
                }else{
                    var items = [];

                    tabs.items.each(function(item){
                        if(item.closable){
                            if(!false || item != this.item){
                                items.push(item);
                            }
                        }
                    }, this);

                    Ext.each(items, function(item){
                        tabs.remove(item);
                        item.destroy();
                    }, this);
                } // else
                i ++;
            },
            interval: 300
    }
    Ext.TaskManager.start(__my_task);
}catch(e){}

// tab generation code
var index = 0;
function addTab (closable) {
    ++index;
    tabs.add(Ext.create('Ext.tree.Panel',{
        title: 'New Tab ' + index,
        iconCls: 'tabs',
        closable: !!closable
    }));
}

});

запустите его в IE8, память так быстро поднимется, мой код неправильный? любой вопрос ко мне, спасибо!


person mack_ma    schedule 17.04.2012    source источник


Ответы (1)


IMO трудно оценить, есть ли утечка памяти в Javascript (Extjs, написанные на JS, как вы знаете). Объект может быть удален с помощью delete() (destroy () будет использовать его), но не может быть уверен, когда действительно будет освобождена память.

Дополнительную информацию о сборщике мусора Javascript можно найти в Удаление или установка значения null и сборка мусора Javascript

person U and me    schedule 18.04.2012