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 - Sr Software Engineer mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    39,553
    Vote Rating
    1272
      0  

    Default

    What Ext JS 4 version?
    Mitchell Simoens @LikelyMitch
    Sencha Inc, Senior Software Engineer
    ________________
    Learn BBCode and use it! Checkout the CODE tag!

    Check out my GitHub, lots of nice things for Ext JS and Sencha Touch
    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
  •