Как отслеживать и отлаживать утечки памяти JavaScript в Firefox?

Я пытался отслеживать это буквально месяц без какого-либо успеха. У меня есть этот фрагмент кода на веб-сайте рекламы автомобилей, который в основном позволяет миниатюрам вращаться в результатах поиска, учитывая, что автомобиль имеет несколько изображений. Вы можете увидеть его в действии в следующем:

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 ответов


способ отслеживания утечек памяти в Firefox с Утечка Монитора Аддон. Он показывает утечки памяти javascript (включая скрипты расширения).

пожалуйста, напомните, что плагин иногда будет показывать просочившиеся объекты, которые будут очищены позже сборкой мусора. Если это так, плагин запустит новое окно, показывающее вам новый статус.


обновление до MooTools 1.2.1, мы улучшили сбор мусора и обработку утечек.


попробуйте обнулить массив переменных элементов в конце функции initialize

    ...

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

    elements = null; //Add THIS!
}