Editor.load posiblemente causa una fuga de memoria
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)
Esto es importante. Si no se soluciona, hace que GrapesJS sea peligroso de usar, especialmente en aplicaciones SPA.
Lo miraré, pero cualquier ayuda es bienvenida
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.
Issue #1470
[Pregunta] Posibles fugas de memoria
Hola, estoy trabajando en un proyecto con Angular 6 y estoy investigando una fuga de memoria tras destruir el editor en _previousAttributes...
Issue #2878
[Bug] no es posible hacer que parte de H1 sea no en negrita
Pasos:Demo del boletín abierto en https://grapesjs.com/demo-newsletter-editor.htmllimpiar el lienzoeliminar "Sección de texto"seleccionar c...
Issue #6618
Mejorar el rendimiento del editor y solucionar cualquier fuga de memoria
Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Chrome Enlace de demo reproducible https://grapesj...
Issue #1708
Los eventos de StyleManager se activan varias veces por cambio
Para reproducir: En una instalación limpia de GrapesJS, dentro de la página de demo (dentro de index.html), añade un oyente de eventos así:...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
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 →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.