2012-02-06 2 views
0

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

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

Есть ли какой-либо способ или какой-либо JS, с помощью которого я могу освободить память через некоторое время?

решение:

До:

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

После:

var timer = null; 

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

Я думаю, что проблема заключается в коде, вы начинаете в SetTimeout(). Не могли бы вы разместить какой-то код? – Chris

ответ

1

разместить код, как это было предложено.

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

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

+0

спасибо, что получил решение проблемы – Pawan

+0

Если бы этот ответ был какой-то помощью, я был бы благодарен за его поддержку и одобрение :) – zvona

Смежные вопросы