【发布时间】:2013-10-04 13:50:39
【问题描述】:
我有一个从本地数据填充的 jqGrid (v4.5.2)。每当我尝试使用下面的buildGrid() 函数卸载网格并用新数据重新填充它时,IE8 中的内存就会跳跃。这样做大约 15 倍后,内存从 ~80,000K 增加到 ~350,000K。我的用例要求此网格在不刷新浏览器的情况下刷新 > 150 倍。
这是一个非常简单的网格。这是我构建它的功能:
<table id="lpInfoGrid"><tr><td/></tr></table>
<div id="lpInfoGridPager"></div>
var jqGridObj;
function buildGrid(lot) {
if (jqGridObj) {
jqGridObj.jqGrid('GridUnload');
jqGridObj = null;
}
jqGridObj = $("#lpInfoGrid").jqGrid({
data: localData[lot].Info,
datatype: "local",
colNames: [...],
colModel: [...],
viewrecords: true,
gridview: true,
pager: '#lpInfoGridPager'
});
}
我尝试清除和刷新网格的方式有问题吗?
【问题讨论】:
-
嗯...您的网格中有多少行?有点抓稻草,但它们是否以某种方式与页面的其余部分联系在一起,以防止它们被正确地收集起来?
-
只有1-2K条记录。它们是
localData[lot]中的对象集合。基本上,我的用户滚动浏览这些对象,当他们找到一个新对象时,我会刷新网格。如果我注释掉网格,内存就会保持不变。
标签: javascript jquery jqgrid internet-explorer-8