Issue #2403💬 RespondidoAbierto el 12 de noviembre de 2019por varaderoReacciones 0

Editor.load posiblemente causa una fuga de memoria

Respuesta rápidapor varadero

Esto es importante. Si no se soluciona, hace que GrapesJS sea peligroso de usar, especialmente en aplicaciones SPA.

Lee la respuesta completa abajo ↓

Pregunta

Cómo reproducirse:

  • Naviagate a https://grapesjs.com/demo.html
  • Abre la consola del navegador (Chrome) y escribe lo siguiente: 'setInterval(() => editor.load(), 1000)' y pulsa Enter
  • Ve a la pestaña "Memoria" (Chrome) y revisa el uso de memoria

Qué ocurre: La memoria no para de aumentar. Si abres el "Performance Monitor" de Chrome también puedes ver "nodos DOM" y "JS event listeners" que aumentan constantemente. Tras unos 3 minutos, el "tamaño del JS Heap" aumenta de 24MB a 1000MB, los "oyentes de eventos JS" suben de unos 1600 a 50000+, los "nodos DOM" de 8600 a 100000+. Al cabo de un tiempo, la pestaña del navegador se bloquea debido al alto consumo de memoria.

Lo mismo ocurre si tienes un proyecto muy simple de grapesjs y colocas un solo bloque en el lienzo y comienzas en intervalos una llamada a 'editor.load()'.

Respuestas (3)

varadero15 de noviembre de 2019

Esto es importante. Si no se soluciona, hace que GrapesJS sea peligroso de usar, especialmente en aplicaciones SPA.

artf18 de noviembre de 2019

Lo miraré, pero cualquier ayuda es bienvenida

diazemiliano3 de septiembre de 2020

Estoy teniendo el mismo problema aquí. Incluso después de destruir al editor, el problema sigue siendo.

Preguntas y respuestas relacionadas

Continúa investigando con debates sobre temas similares.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.

Explora plugins gratuitos →
Opción premium

Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.

Explora plugins premium →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.