Memory leak when i set new root node into TreeStore
REQUIRED INFORMATION
Ext version tested: 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: The result that occurs instead: 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: