如何在Firefox中跟踪和调试JavaScript内存泄漏?

时间:2008-10-14 11:46:25

标签: javascript memory-leaks mootools

我一直试图在一个月内跟踪这个,但没有任何成功。我在汽车广告网站上有这段代码,基本上允许缩略图在搜索结果中旋转,因为汽车有多张图片。您可以在以下内容中看到它:

  

http://www.abcavendre.com/4506691919/

它建立在mootools 1.2框架之上。问题是,当一个页面充满了那些旋转图片时,这个脚本在Firefox 3下会消耗相当多的内存,例如这个库存页面:

  

http://www.abcavendre.com/Vitrine/Israel_Huttman/

您可以在此处查看相关脚本的来源:

  

http://www.abcavendre.com/scripts/showcase_small.js

关于什么导致内存泄漏的任何想法?奇怪的是这个代码在IE7下运行正常。

3 个答案:

答案 0 :(得分:8)

使用Leak Monitor Addon跟踪Firefox中的内存泄漏的方法。它显示了javascript(包括扩展脚本)的内存泄漏。

请提醒一下,该插件有时会显示泄漏的对象,这些对象将在以后通过垃圾回收进行清理。如果是这种情况,插件将启动一个新窗口,显示新状态。

答案 1 :(得分:0)

在初始化函数

的末尾尝试归零元素变量数组
    ...

    if (ads.length > 0)
        {
        this.imagesFx = new Fx.Elements(elements,
            {
            wait: false,
            duration: 1000
            });
        this.moveNext.periodical(2500, this);
        }

    elements = null; //Add THIS!
}

答案 2 :(得分:0)

更新到MooTools 1.2.1,我们改进了垃圾收集和泄漏处理。