La interfaz de usuario para una aplicación en la que trabajo recientemente se ha reescrito con Ext.js y he notado que el uso de memoria de IE parece ser muy grande cuando se ve. ¿Hay problemas de memoria conocidos con Ext.js cuando se usa IE?Existen problemas de memoria con Ext.js
Respuesta
Lo primero que me salta a la vista en su pregunta es que está viendo esto en IE. Mi equipo recientemente pasó por el mismo problema (Extjs en IE). Resulta que Ext no es el culpable, sino que IE es probablemente la causa.
Una búsqueda rápida en Google para 'IE pérdida de memoria de cierre' se encuentra un montón de explicaciones, pero el punto básico es el siguiente:
IE utiliza dos motores independientes para manejar el DOM y JavaScript. Cuando JavaScript realiza una llamada para crear un elemento DOM, el motor de JavaScript se cruza con el otro para crearlo. Si adjunta JavaScript a un evento en un elemento DOM, se crea un vínculo desde el lado DOM al lado JavaScript.
El problema radica en el hecho de que cada motor tiene su propia recolección de basura y no puede ver a través del otro motor. Así que las referencias circulares son REALMENTE fáciles de encontrar que pueden consumir grandes cantidades de memoria muy rápidamente.
Por lo que a mí respecta, no he oído hablar de fugas de memoria notables en ExtJS. Aunque estoy seguro de que hubo algunos, generalmente se solucionan bastante rápido, y la comunidad es tan grande que se conocen la mayoría de los errores.
Asegúrate de que tu diseño se basa en componentes individuales que puedes agregar y eliminar cuando ya no los necesites, ya que la mayoría de las veces una página web ExtJS solo se carga una vez y se llena con los componentes adicionales que obtienes eso. Puede liberar algunas mem usando Ext.destroy (this.el) una vez que haya terminado de usar un componente.
Además, asegúrese de utilizar Firebug para rastrear cualquier componente u objeto que debería haberse eliminado.
Creo que es bastante fácil crear pérdidas de memoria al programar con ExtJS para programadores no experimentados. Esto no es un problema ExtJS en sí mismo. Es el paradigma de programación ExtJS que permite a los programadores cometer fácilmente esos errores.
Desde mi experiencia, he creado pérdida de memoria cuando intenté hacer un chat AJAX directo usando ExtJS. Cuando algunos objetos se crean constantemente dentro de las devoluciones de llamada AJAX (como áreas de almacenamiento de datos, manipulaciones de cuadrículas), estos objetos no se liberan ni se destruyen. Debe haber técnicas especiales y muy inteligentes para evitar fugas de memoria con ExtJS, y no solo está relacionado con AJAX o devoluciones de llamada.
Con todo, ExtJS es una gran biblioteca, pero debe usarse con cuidado.
Existe una propiedad de autodestrucción para las tiendas que puede ayudar con esto. – geographika
Eche un vistazo a this thread in their forums que cubre una gran cantidad de fugas en Ext 2.2 causadas por elementos huérfanos. Parece que Ext 2.2.1 solucionó la mayoría de ellos.
El problema sigue siendo Abierto, por cierto. ;)
- 1. Problemas de memoria JVM
- 2. problemas de memoria Heap
- 3. Ext.Net y Ext.JS
- 4. Problemas de ordenación de memoria
- 5. ¿Cómo integrar Meteor y Ext.js?
- 6. Problemas de límite de memoria y GC con R
- 7. y otra vez sobre problemas de memoria con SoundPool
- 8. Posibles problemas de memoria jQuery con $ ('# foo'). Remove()?
- 9. Ext.js 4.x Ventana acoplable como pestaña
- 10. Cómo escribir en un memoryproxy en Ext.js
- 11. ¿Problemas de memoria al usar HtmlAgilityPack?
- 12. Problemas de alcance y memoria en Scala
- 13. ¿Existen riesgos asociados con IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP o IMAGE_FILE_NET_RUN_FROM_SWAP?
- 14. Estoy interesado en usar Ext.js, pero estoy preocupado por una serie de problemas. ¿Hay una mejor alternativa?
- 15. Identificación de problemas de memoria en una aplicación ASP.NET
- 16. Cómo evitar OrderBy - problemas de uso de memoria
- 17. cómo descargar archivos grandes sin problemas de memoria en java
- 18. Problemas para leer desde el archivo de memoria asignado
- 19. ¿Cómo encontrar soluciones y problemas de memoria? C#
- 20. Uso de memoria y problemas conocidos con RegEx y diferentes versiones de Framework
- 21. Problemas de memoria con HTTParty y descarga archivos de gran tamaño
- 22. principales problemas de la memoria de lectura en un archivo CSV con numpy
- 23. ¿Cómo se pueden depurar con eficacia los problemas de recuento de referencias en la memoria compartida?
- 24. Problemas para entender la memoria inactiva en MacOSX
- 25. Problemas con RazorEngine con @Html
- 26. Problemas con SignalR con NuGet
- 27. Problemas de rendimiento con SSRS
- 28. Problemas con DCG de Prolog
- 29. problemas de tablesorter con JSP
- 30. Problemas de JTextField con Numpad
Gracias por todas sus respuestas. Los pasaré a los desarrolladores de UI de mi equipo. –