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

StackOverflow https://stackoverflow.com/questions/200822

Вопрос

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

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.

Это было полезно?

Решение

Способ отслеживания утечек памяти в Firefox — с помощью Аддон для мониторинга утечек.Он показывает утечки памяти в javascript (включая сценарии расширений).

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

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

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

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

    ...

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

    elements = null; //Add THIS!
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top