Ajax沉重的JS应用程序随着时间的推移使用过多的内存

Sha*_*tle 5 javascript ajax json memory-leaks

在我正在开发的应用程序中,我似乎有一些非常大的内存泄漏.该应用程序本身并不复杂.每15秒,页面从服务器请求大约40kb的JSON,并使用它在页面上绘制一个表.绘制表格更便宜,因为数据通常总是新的.我在表中附上了一些事件,每行大约5个,表格中有30行.我使用jQuery的.html()方法将新的html放入容器中并覆盖现有的.我特意这样做,以便jQuery的特殊清理函数进入并尝试分离它被覆盖的元素中的元素上的所有事件.然后我也会在使用后将它们发送到DOM时删除html的大变量delete my_var.

我检查了循环引用和附加事件,这些事件从未被清除过几次,但从未真正挖到它.我想知道是否有人可以给我一些关于如何优化像这样的非常重的应用程序的指针.我刚刚拿起Nicholas Zakas的"高性能Javascript",但还没有太多时间进入它.

为了了解它使用了多少内存,在4小时后,它在chrome上使用了大约420,000k,在Firefox或IE上使用了更多.

谢谢!

Bit*_*ter 1

我建议编写一个没有事件的脚本测试版本。DOM / JS 循环引用可能很难发现。通过从方程中消除一些变量,您也许可以稍微缩小搜索范围。