IE et accumulation de mémoire en Javascript

Voici l'URL de test

Http://edventures.com/temp/divtest.php

Procédure:

  1. Fermez toutes les instances IE.
  2. Ouvrir l'URL dans IE7
  3. Ouvrez le gestionnaire de tâches, recherchez la mémoire consommée par IE
  4. Maintenant, cliquez sur le bouton Créer,
  5. Regardez la mémoire en lançant environ 2K
  6. Maintenant, cliquez sur le bouton Détruire et le DIV sera détruit, mais la mémoire reste la même.
  7. Vous pouvez l'essayer à plusieurs reprises et la mémoire s'ajoute simplement.

Y a-t-il un moyen de réparer ça? Une façon d'appeler le collecteur d'ordures avec force sans recharger la fenêtre?

Je suppose que lorsque je supprime DIV, la mémoire sera libérée, mais ne semble pas fonctionner de cette façon.

Permettez-moi de vous informer de tout problème.

Merci de votre aide.

Suhas

Voici comment créer des éléments DOM et éviter les fuites de mémoire dans IE.

function createDOMElement(el) { var el = document.createElement(el); try { return el; } finally { el = null; } } 

Vous pouvez utiliser des variantes de l'essai / enfin du truc pour éviter les fuites lors d'autres opérations DOM.

Ouais – IE a des fuites de mémoire horribles.

Vérifiez IE Drip – vous devez fondamentalement concevoir vos pages afin qu'elles ne fassent pas ce qui rend IE fuite comme ça.

Cela fait partie de la raison pour laquelle IE est tellement détestable.

Pour éviter les fuites d'IE, vous devez faire très attention à la façon dont vous ajoutez des éléments HTML à la page, en particulier les tableaux. Soyez particulièrement prudent avec les attributs non HTML 3.2 – IE7 est toujours essentiellement IE4 et les attributs externes aux anciennes spécifications HTML sont l'endroit où il a tendance à aller mal.

Avez-vous essayé cette expérience dans d'autres navigateurs? La consommation de mémoire de Firefox est bien pire que celle de IE sur ma machine …