J'ai un widget JavaScript hébergé sur des sites Web. Ce widget suit l'état dans un certain nombre de variables dans son espace de noms local. De plus, il attache des auditeurs à plusieurs événements, tels que le mouvement de la souris.Ai-je besoin de détruire explicitement les objets JavaScript lors du déchargement de la fenêtre?
Dois-je détruire explicitement les deux variables de suivi d'état et détacher les écouteurs d'événement lors du déchargement de la fenêtre? Ou est-ce correct de compter sur le navigateur pour faire un bon travail de nettoyage après que l'utilisateur quitte la page qui héberge mon widget?
Veuillez donner une raison pour le déclassement d'une réponse! –
@Bilal: Dans un monde parfait, ils le feraient. C'était juste une fusillade au volant, et malheureusement ce genre de chose arrive de temps en temps sur ce tableau. – Robusto
Dans un monde parfait, les fuites de mémoire n'existeraient pas. Malheureusement, nous (et plus important encore: nos utilisateurs) utilisons toujours des navigateurs qui fuient la mémoire. Je pense que vous devriez au moins faire un peu de collecte manuelle des ordures: http://javascript.crockford.com/memory/leak.html (pas de downvote de ma part, BTW). –