Mi pregunta asume que está creando una página web que se mostrará durante "mucho tiempo". Tengo curiosidad sobre cuáles son algunos de los errores comunes que causarán pérdidas de memoria al usar JQuery/JavaScript en tal escenario. Por ejemplo, ¿qué sucede en términos de memoria cuando llamas al $.remove()
en una colección de elementos? ¡Gracias!¿Cuáles son algunas formas comunes de causar pérdidas de memoria usando JQuery/JavaScript?
Respuesta
JavaScript utiliza la recolección de basura para recuperar la memoria ocupada por cuerdas, objetos, matrices y funciones que ya no están en uso. Esto le libera a usted, el programador, de tener que desasignar explícitamente la memoria y es una parte importante de lo que hace que la programación de JavaScript sea más fácil que, por ejemplo, la programación en C.
Referencias:Check this for more y an answer on SO.
problemas de memoria en caso mecanismo MDN
var i;
var els = document.getElementsByTagName('*');
// Case 1
for(i=0 ; i<els.length ; i++){
els[i].addEventListener("click", function(e){/*do something*/}, false});
}
// Case 2
function processEvent(e){
/*do something*/
}
for(i=0 ; i<els.length ; i++){
els[i].addEventListener("click", processEvent, false});
}
registrando En el primer caso, una nueva función (anónimo) se crea en cada vuelta del bucle. En el segundo caso, la misma función declarada previamente se utiliza como controlador de eventos. Esto da como resultado un menor consumo de memoria. Además, en el primer caso, dado que no se guarda ninguna referencia a las funciones anónimas, no es posible llamar a element.removeEventListener porque no tenemos una referencia al manejador, mientras que en el segundo caso, es posible hacer
myElement.removeEventListener("click", processEvent, false)
- 1. ¿Utilizará goto para causar pérdidas de memoria?
- 2. ¿Cuáles son las formas de resolver las pérdidas de memoria en C#
- 3. ¿Cómo puedo evitar causar pérdidas de memoria en Firefox?
- 4. ¿Sabes lo que puede causar pérdidas de memoria en JavaScript?
- 5. ¿Cuáles son las formas más comunes de implementar la limitación de velocidad/solicitud de API web?
- 6. ¿Cuáles son algunas condiciones que pueden causar fallas en fork() o system() en Linux?
- 7. ¿Cuáles son los usos comunes de UDP?
- 8. ¿Cuáles son algunas de las mejores herramientas de detección de memoria de Javascript?
- 9. ¿Cuáles son algunas formas diferentes de implementar un sistema de complemento?
- 10. ¿Cuáles son algunas de las mejores formas de realizar actualizaciones silenciosas para una aplicación de escritorio?
- 11. ¿Cuáles son algunas características útiles de TextMate?
- 12. ¿Cuáles son algunas formas elegantes de abstraer el manejo repetitivo de excepciones en python?
- 13. ¿Cuáles son algunas formas de proteger los correos electrónicos en los sitios web de los spambots?
- 14. ¿Cuáles son algunas buenas formas de distribuir un archivo común de hormigas para incluir en compilaciones?
- 15. ¿Cuáles son las bibliotecas comunes para C?
- 16. ¿Cuáles son algunos malentendidos comunes sobre TDD?
- 17. ¿Cuáles son tus optimizaciones sql más comunes?
- 18. pérdidas de memoria en Microsoft.FSharp.Control.Mailbox?
- 19. ¿Cuáles son algunas buenas formas de estimar la similitud semántica "aproximada" entre oraciones?
- 20. SoundPlayer provocando pérdidas de memoria?
- 21. ¿Cuáles son algunas cosas comunes a considerar al desarrollar una aplicación basada en web para venderse?
- 22. Javascript a pérdidas de memoria
- 23. ¿Cuáles son algunas de las mejores prácticas de administración de memoria de Java?
- 24. Depuración de pérdidas de memoria con el servidor Node.js
- 25. ¿Cuáles son los errores comunes de configuración de Magento?
- 26. SBJson - ¿Tiene pérdidas de memoria?
- 27. C#: simular pérdidas de memoria
- 28. ¿Cuáles son algunas buenas soluciones de ORM de Python?
- 29. ¿Cuáles son los patrones de diseño comunes en Cocoa Touch?
- 30. ¿Cuáles son todas las formas de atravesar árboles de directorios?
Ambas carcasas chupan por cierto, estás registrando un evento en cada elemento cuando se puede usar el burbujeo de eventos. –