2012-02-06 1 views
0

Je suis confronté à un problème d'utilisation de la mémoire javascript et du navigateur (Chrome).JavaScript setTimeout et l'utilisation de la mémoire Chrome

Il y a timer (setTimeout) dans mon script, qui est l'emplacement du navigateur. J'ai remarqué qu'il y a une augmentation progressive de l'utilisation de la mémoire (dans le gestionnaire de tâches) par cet onglet, ce qui entraîne une mémoire maximale parmi tous les onglets après un certain temps et finalement la page se fige et se bloque.

Y at-il un moyen ou un JS avec lequel je peux libérer de la mémoire après un certain temps?

solution

:

Avant:

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

Après:

var timer = null; 

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

Je pense que le problème réside dans le code que vous commencez à setTimeout(). Pourriez-vous poster du code? – Chris

Répondre

1

le code postal, comme le suggère.

Il existe clearTimeout() pour, comme son nom l'indique, effacer les délais d'attente. Cela pourrait vous aider?

Et en plus, si vous faites un « timer », je suggère d'utiliser setInterval() au lieu de setTimeout()

+0

grâce à la solution du problème – Pawan

+0

Si cette réponse était de l'aide, j'apprécierais upvoting et l'approuver :) – zvona