Extjs 5,IE中的动态网格内存泄漏?

时间:2016-01-21 07:36:19

标签: internet-explorer extjs

我们正在使用Ext Js 5.1.1.451

我们有一个动态网格(分页),它将填充25行和大约230列(有时更多)。

以下是网格的特征:

  1. 它有5个静态列(最后两个有组合框和文本字段 - 作为编辑器添加)

  2. 它还有一个checkboxModel和cellediting插件。 (两者都在beforeselect和beforeedit听众中有规则来控制可编辑性)

  3. 从JSON响应中动态计算剩余的225列,如下所示。

    最初我们只会获得115列,并根据标志我将决定是否可以使该列可编辑。 如果特定列可编辑,我将该列除以两个(例如:如果列名为cost,我将其命名为Base_cost(这将是一个只读字段)和Adjustable_cost(这将是一个可编辑字段))。 所有可编辑字段都是一个文本字段,由编辑器附加到该单元格。

  4. 当第一次加载网格时,它将加载商店,获得的数据将包含列标题详细信息和行数据。

  5. 所以,首先我将形成带有标题详细信息的列头,比如给它们编辑,宽度,名称,dataIndex等。

  6. 然后我将对行数据进行转换(基本上是为新形成的Base_cost和Adjustable_cost列提供单独的dataIndex。)

  7. 现在我将做一个grid.reconfigure(columnHeads);

  8. 在最后一步,我将转换的数据加载到同一个商店:store.setData(最终转换的数据);

  9. 所以我面临的问题是:

    我的客户要求是仅使用IE(我们使用的是IE 11)。当我们加载网格时,就在我执行store.setData后,我的浏览器内存从260 MB变为1.1 GB,当我进入网格的下一页时,内存再次从1.1 GB跳到1.5 GB并保持不变。

    首页网格加载需要40秒,而第二页需要>它需要2.5分钟和第3页> 3分钟,你明白了。主要问题是在网格完全加载之前,浏览器将进入冻结状态。

    不幸的是,由于公司的政策,我不允许在这里发布我的任何代码,而且我也无法为这种情况制作小提琴。

    我能做些什么来减少内存消耗???

    P.S:这种行为只在IE中出现,在firefox中,进程非常快,并且在所有情况下内存消耗都低于500 MB。

0 个答案:

没有答案