Как отслеживать и отлаживать утечки памяти JavaScript в Firefox?
Я пытаюсь отслеживать этот текст буквально через месяц без каких-либо успехов. У меня есть этот фрагмент кода на веб-сайте по рекламе автомобилей, который в принципе позволяет эскизам вращаться в результатах поиска, учитывая, что автомобиль имеет несколько фотографий. Вы можете увидеть его в действии следующим образом:
http://www.abcavendre.com/4506691919/
Он построен на основе mootools 1.2. Проблема в том, что этот script, под Firefox 3, потребляет довольно большой объем сверхурочной памяти, когда страница заполнена этими вращающимися изображениями, такими как эта страница инвентаризации:
http://www.abcavendre.com/Vitrine/Israel_Huttman/
Здесь вы можете увидеть источник script:
http://www.abcavendre.com/scripts/showcase_small.js
Любые идеи относительно того, что вызывает утечку памяти? Странно, что этот код ведет себя правильно в IE7.
Ответы
Ответ 1
Способ отслеживания утечек памяти в Firefox с помощью Add Monitor. Он показывает утечки памяти javascript (включая расширения-скрипты).
Пожалуйста, напоминайте, что в плагине иногда отображаются просочившиеся объекты, которые позже будут очищены сборкой мусора. Если это так, плагин запустит новое окно, в котором будет отображаться новый статус.
Ответ 2
Попробуйте обнулить элементы массива переменных в конце функции инициализации
...
if (ads.length > 0)
{
this.imagesFx = new Fx.Elements(elements,
{
wait: false,
duration: 1000
});
this.moveNext.periodical(2500, this);
}
elements = null; //Add THIS!
}
Ответ 3
Обновление до MooTools 1.2.1, мы улучшили сбор мусора и обработку утечек.