在dojo网格刷新时观察到内存泄漏

时间:2013-07-03 05:41:05

标签: memory dojo grid memory-leaks


我正在使用带有dojo 1.8.3库的gridx。
我的应用程序需要每秒使用来自服务器的数据刷新dojo网格。
以下是刷新网格的代码,为每次刷新创建一个新商店。 结果来自xhrPost回调并被分配到新的网格存储。

refreshGrid(){
   if(grid.store!=null)
     grid.store.close();
   var newGridStore = new dojo.data.ItemFileWriteStore({
                url:'',
                data:result,
                urlPreventCache: false
            });
   grid.setStore(newGridStore);
 }

以上功能每2秒调用一次,我可以看到镀铬曲线中的内存增加 我曾尝试使用迭代商店的方式来删除所有项目,然后添加新项目,但是当商店更新时,网格被锁定。
什么是dojo中网格刷新的正确方法?

1 个答案:

答案 0 :(得分:1)

你正在做的事情看起来很粗略,除非你刷新特定的项目,否则设置商店是要走的路。旧的商店最终应该被gc删除,但只要感觉它就会删除,你会看到内存使用量增加直到那一点。在chrome中你可以强制使用垃圾收集器,所以如果你这样做并且你的内存清理完了,那么一切都按预期运行,你可能只是经常处理过多的数据。

让我们知道您所看到的性能下降(如果有),您的内存使用量是多少,以及您在商店中处理的数据量也可能很有用。