Que tal compañeros, vengo a ustedes solicitando ayuda sobre un tema que vengo tratando de resolver desde hace tiempo, antes que nada, los pongo al tanto del proyecto...
El escenario...
El proyecto es una aplicación web la cual se basa completamente en Ajax, así todas las peticiones son enviadas via Ajax, por lo cual "nunca" se recarga la página, cada petición puede tener dependencias (archivos CSS y JS), hasta este momento todo funciona al 100%, la razón de esto es porque la aplicación trabaja con sockets (node.js) e información en tiempo real, así para evitar estar abriendo y cerrando sockets todo se maneja via Ajax (peticiones HTTP)...
El problema...
Mi problema es que no tengo mucha idea de como manejar los scripts de JS, especificamente en cuanto a la memoria que este ocupa, el punto es que en cada petición debo revisar las dependencias y si las hay cargar en memoria, PERO, también en cada petición nueva debo liberar la memoria ocupada por los scripts previamente cargados y eh aquí mi problema, no tengo del todo claro como administrar la memoria de dichos scripts...
Soluciones encontradas...
Soluciones como tal no eh encontrado, pero si eh estado investigando y haciendo pruebas, pero no estoy seguro si lo que eh intentado funciona del todo, en fin, lo que eh investigado es meter todo el código en objetos (namespace¿?), así cuando necesite liberar la memoria unicamente eh de definir el objeto como null
Código Javascript
:
Ver originalvar Objeto = function() {
this.deleteAllEvents = function() {};
};
//cargo el objeto
var nuevoObjeto = new Objeto();
//libero memoria
nuevoObjeto.deleteAllEvents();
nuevoObjeto = null;
Hasta ahorita lo eh implementado, pero no se si realmente funcione del todo teniendo en cuenta que probablemente el usuario visite varias veces la misma sección, por lo tanto cargará una y otra vez el mismo script, el punto es que no quiero saturar la memoria ni alentar el navegador y esa es la razón por la que acudo a ustedes, así que agradezco cualquier ayuda/comentario al respecto...