JavaScript setTimeout и использование памяти Chrome - PullRequest
0 голосов
/ 06 февраля 2012

У меня проблема с использованием памяти в javascript и браузере (Chrome).

В моем скрипте есть таймер (setTimeout), который проверяет местоположение из браузера.Я заметил, что эта вкладка постепенно увеличивает использование памяти (в диспетчере задач), что через некоторое время приводит к максимальному использованию памяти среди всех вкладок, и в конечном итоге страница зависает и вылетает.используя который я могу освободить память через некоторое время?

решение:

До:

function recalculateDistance() {
    getLocation();
    getDistance();
    setTimeout("recalculateDistance()", 10000);
}

После:

var timer = null;

function recalculateDistance() {
        clearTimeout(timer);
        getLocation();
        getDistance();
        timer = setTimeout("recalculateDistance()", 10000);
}

1 Ответ

1 голос
/ 06 февраля 2012

Разместите код, как предлагается.

Существует clearTimeout() для, как видно из названия, очистки тайм-аутов. Это может вам помочь?

И, кроме того, если вы используете «таймер», я бы предложил использовать setInterval() вместо setTimeout()

...