2008-09-18 13 views

Respuesta

6

Usted debe tratar el Javascript Memory Leak detector desarrollado internamente en Microsoft.

+0

Gracias. Lo intentaré –

+0

Simplemente mirando el sitio parece que esto es lo que estaba buscando. Parece ser un depurador mucho más capaz que el que ya estaba usando. –

+0

Pero siempre detectará en la descarga de la página. E IE7 recupera las fugas en la descarga ... entonces, ¿cómo verifica en IE 7? – Sabya

1

sólo recuerda que las pérdidas de memoria son realmente acerca de usted no limpiar después de ti mismo. Todo lo que necesitas es una pequeña organización.

En el pasado, he creado mi propio objeto proxy para la fijación de los eventos a los elementos DOM. Utiliza la API de mi biblioteca de JavaScript para establecer y eliminar eventos. El proxy en sí mismo simplemente realiza un seguimiento de todas las referencias para que pueda invocar un método en él para que limpie todas mis posibles pérdidas de memoria.

Para mis propósitos, yo era capaz de simplemente llamar a un solo Deconstructor en la página que limpiar las fugas para toda la página cuando el usuario salía de la página.

Es posible que tenga que ser más granular pero la técnica es la misma.

+0

estoy usando GWT que tienen un sistema de eventos a medida para evitar pérdidas de memoria relacionadas con el cierre en controladores de eventos. http://code.google.com/p/google-web-toolkit/wiki/DomEventsAndMemoryLeaks –

3

Bueno, lo mejor es comprender qué los causa, para que pueda mirar críticamente su código, identificar los patrones que pueden causar una fuga, y luego evitar o refactorizar a su alrededor.

Aquí hay un par de enlaces para empezar, ambos muy informativo:

+0

Gracias Dan, En realidad, ya lo he leído, incluido el segundo artículo que mencionas. Estoy usando GWT con muy poco JSNI por lo que muchos patrones de pérdida de memoria se toman automáticamente. Sigue viendo algunas filtraciones, pero el depurador solo muestra los elementos como TABLE involucrados en la fuga. –

Cuestiones relacionadas