Как отслеживать и отлаживать утечки памяти 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.

Вы это решили? Если да, то в чем проблема?

Daniel Silveira 15.10.2008 06:26

Решить не удалось. Я получаю ценную информацию из надстройки Leak Monitor. Я все еще над этим работаю.

Andrew Moore 15.10.2008 08:08

Отключите Firebug, если он включен каким-либо образом.

leppie 17.10.2008 14:50
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
16
3
18 246
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

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

    ...

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

    elements = null; //Add THIS!
}

Это не объясняет утечку памяти, происходящую сверхурочно (без обновления страницы), поскольку функция инициализации вызывается только один раз на страницу.

Andrew Moore 14.10.2008 16:03
Ответ принят как подходящий

Способ отслеживания утечек памяти в Firefox - это Аддон Leak Monitor. Он показывает утечки памяти javascript (включая сценарии расширения).

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

Вы пропустили: после https, поэтому SO делает любопытный URL-адрес, отправляемый в Edge ... :-)

PhiLho 14.10.2008 17:07

Поскольку SO является англоязычным сайтом, вы можете предоставить англоязычную ссылку: addons.mozilla.org/en-US/firefox/addon/2490

Matt Ball 15.12.2009 21:04

Монитор утечек больше не работает ни с одной из современных версий Firefox :-(

machineghost 28.05.2012 20:00

так грустно, что последнее обновление аддона было сделано 5 лет назад

Vladimir Starkov 06.03.2015 17:49

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

Другие вопросы по теме