Dans le cadre de mon application, je suis en train de constituer un ensemble de petits nœuds Dom qui ne sont pas affichés tous en même temps. Je les stocke dans un tableau interne. L'utilisateur peut invoquer leur affichage, auquel cas je les reparents à la div qui est utilisée pour les afficher. C'est très bien comme ça. Mais lorsque le moment est venu de tous les remplacer par de nouveaux, je veux détruire les anciens (en les désallouant effectivement). Sinon, au fil du temps, l'utilisation de la mémoire pourrait croître de façon exponentielle. Comment puis-je forcer le moteur js du navigateur à faire cela ? Est-ce que le fait de donner la valeur null à chacun des éléments de mon tableau de nœuds Dom est suffisant ? Y a-t-il autre chose que je doive faire ? Ou peut-être n'ai-je pas à m'en soucier du tout ?
Réponses
Trop de publicités?Oui, mettre les éléments à null devrait être correct Sauf que certains détails d'implémentation doivent être pris en compte avec Internet Explorer : sa gestion des références circulaires est douteuse. Voir http://msdn.microsoft.com/en-us/library/bb250448.aspx
Références circulaires - Lorsque des références mutuelles sont comptées entre l'infrastructure COM d'Internet Explorer et tout moteur de script, les objets peuvent fuir la mémoire
Alors vous tienen pour briser les références circulaires dans certains cas.