71 votes

Puis-je déclencher le ramasse-miettes de JavaScript ?

Je veux déclencher le ramasse-miettes JavaScript. Est-il possible? Pourquoi est-ce que je voudrais ou ne veux pas faire ça ?

8voto

masterspambot Points 496

Vous pouvez déclencher manuellement le ramasse-miettes JavaScript dans IE et Opera, mais ce n'est pas recommandé, il vaut donc mieux ne pas l'utiliser du tout. Je donne des commandes plus juste à titre d'information.

Internet Explorer:

 window.CollectGarbage()

Opéra 7+ :

 window.opera.collect()

6voto

jfriend00 Points 152127

La collecte des ordures s'exécute automatiquement. Comment et quand il s'exécute et libère réellement des objets non référencés est entièrement spécifique à l'implémentation.

Si vous voulez que quelque chose soit libéré, il vous suffit d'effacer toutes les références à celui-ci de votre javascript. Le ramasse-miettes va alors le libérer.

Si vous expliquez pourquoi vous pensez même que vous devez le faire ou que vous voulez le faire et que vous nous montrez le code pertinent, nous pourrions peut-être vous aider à expliquer quelles sont vos alternatives.

2voto

Daniel Wahlberg Points 221

Cette réponse suggère le code de demande de récupération de place suivant pour les navigateurs basés sur Gecko :

     window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
      .getInterface(Components.interfaces.nsIDOMWindowUtils)
      .garbageCollect();        

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X