Results 1 to 4 of 4

Thread: Memory leak when i set new root node into TreeStore

Hybrid View

Previous Post Previous Post   Next Post Next Post
    Wait! Looks like we don't have enough information to add this to bug database. Please follow this template bug format.
  1. #1
    Sencha User
    Join Date
    Nov 2012
    Posts
    5
    Vote Rating
    0
      0  

    Default Memory leak when i set new root node into TreeStore

    REQUIRED INFORMATION

    Ext version tested:
    • Ext 4.1.0

    Browser versions tested against:
    • FF 16.0.2
    • IE8
    • Opera 12.02

    Description:

    We have memory leak, when dinamically(timeout 1 sec):

    • set new root with his childs in TreeStore, which data interpret by treepanel; OR
    • remove all child nodes of root node and append new nodes into it.

    Steps to reproduce the problem:
    • See ext js code and json data below;
    • Open the application in IE8, click on checkbox(refresh);
    • Open task manager;
    • See on memory state of IE process.

    The result that was expected:
    • Memory leaks can't be

    The result that occurs instead:
    • Memory grows

    Test Case:
    Code:
     
       Ext.application({
        name: 'WebConsole',
        launch: function() {
        var tempStore = Ext.create('Ext.data.TreeStore',{
            autoload: false,
            proxy:{
                type: 'ajax',
                url: 'server.json',
              reader: {
                  type:'json'
              }
            },
            clearOnLoad: true,
          listeners:{
            load:{
                fn: function(store)
            {
                var childs = Ext.clone(store.getRootNode().childNodes);
                treepanel.setRootNode({
                text: "Services",
                expanded: true,
                children: childs
                });
            }
                
                    }            
        }});
        tempStore.load();
    var runReloadTreePanel = Ext.create("Ext.util.TaskRunner");
        var taskTree = {
                run: function()
                {
                tempStore.load();
                },
                 interval:1000 
        }
    
        var checkbox = Ext.create('Ext.form.field.Checkbox',{
               boxLabel: 'Refresh',
               listeners :{
                   change: {
                        fn: function(field,newValue,oldValue){
                            if(newValue)
                            {
                  runReloadTreePanel.start(taskTree);
                            }
                            else
                            {
                  runReloadTreePanel.stop(taskTree);
                            }
              }
               }
                }
        });
        var treepanel = Ext.create('Ext.tree.Panel', {
            title: 'Services',
            collapsible: true,
            rootVisible:false,
            expanded: true,
            region:'west',
            margins: '5 0 0 0',
            width: 400,
            minSize: 100,
            maxSize: 250,
            dockedItems: [{
                xtype: 'toolbar',
                dock: 'bottom',
                items: [
                        checkbox           
                        ]
            }],
             viewConfig: 
                {
                loadMask: false
                }
    });
        
    Ext.create('Ext.container.Viewport', {
         layout: 'fit',
            items: [
        treepanel
         ]
            });
    }});
    HELPFUL INFORMATION

    server.json content:
    Code:
        {text: 'Services',children:[
        {text : 'JMS',leaf : false, expanded: true, children:[
        {text : 'ActiveMQClient',leaf : true,icon: 'images/STARTED_icon.gif'},
        {text : 'ActiveMQServer',leaf : true,icon: 'images/STARTED_icon.gif'}]},
        {text : 'Routes',leaf : false, expanded: true, children:[
        {text : 'Backend Emulation',leaf : false, expanded: true, children:[
        {text : 'Backend Emulation[1]',leaf : true,icon: 'images/STARTED_icon.gif'},
        {text : 'Backend Emulation[2]',leaf : true,icon: 'images/STARTED_icon.gif'}]},
        {text : 'XEConnect',leaf : false, expanded: true, children:[
        {text : 'XEConnect Inbound',leaf : false, expanded: true, children:[  
        {text : 'XEConnect Inbound[1]',leaf : true,icon: 'images/STARTED_icon.gif'},
        {text : 'XEConnect Inbound[2]',leaf : true,icon: 'images/STARTED_icon.gif'}]},
        {text : 'XEConnect Outbound',leaf : false, expanded: true, children:[
        {text : 'XEConnect Outbound[1]',leaf : true,icon: 'images/STARTED_icon.gif'},
        {text : 'XEConnect Outbound[2]',leaf : true,icon: 'images/STARTED_icon.gif'}]}]}]},
        {text : 'XEConnect',leaf : false, expanded: true, children:[
        {text : 'CORE Server',leaf : true,icon: 'images/STARTED_icon.gif'}]}]}
    Operating System:
    • Windows 7 Pro

  2. #2
    Sencha User mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    40,050
    Vote Rating
    1381
      0  

    Default

    What Ext JS 4 version?
    Mitchell Simoens @LikelyMitch
    Modus Create, Senior Frontend Engineer
    ________________
    Need any sort of Ext JS help? Modus Create is here to help!

    Check out my GitHub:
    https://github.com/mitchellsimoens

  3. #3
    Sencha User
    Join Date
    Nov 2012
    Posts
    5
    Vote Rating
    0
      0  

    Default

    Ext js 4.1 version

  4. #4
    Sencha User
    Join Date
    Nov 2012
    Posts
    5
    Vote Rating
    0
      0  

    Default

    Is it ext js problem or browser??

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •