26 noviembre 2007

Descargar DLL's de la memoria

Las DLL son bibliotecas de funciones. Y direis ¿y eso qué es? Pues voy a intentar explicarlo.
Los programas utilizan distintas funciones para realizar diversas cosas. Por ejemplo para pintar la ventana del programa en la pantalla se utiliza una función, para salir del programa se utiliza otra, etc. De todas los funciones que se utilizan muchas son comunes a muchos programas, por ejemplo las que hemos indicado anteriormente. Así en vez de reescribir esas funciones comunes una y otra vez dentro de cada programa se optó por crear las DLL agrupando varias de estas funciones en un sólo archivo.
Cada DLL empaqueta varias funciones siempre con relación entre ellas. Cuando se carga un programa en memoria, carga con él los archivos DLL con las funciones necesarias para su ejecución.
El problema es que cuando se cierra el programa estas DLL se quedan en memoria por si fueran necesarias para el siguiente programa que se ejecute.
Así, si el siguiente programa utiliza las mismas DLL , este programa se cargará más rápido, pero si no es así, no ganaremos nada en velocidad de carga y además tendremos menos memoria disponible para él.
Para evitar que las DLL se queden en memoria debemos modificar el registro, como siempre.

Ejecutamos: Inicio-Ejecutar-Regedit

Buscamos la clave: HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows
/CurrentVersion/Explorer


En el panel de la derecha hacemos clic con el botón derecho y seleccionamos Nuevo-Valor Alfanumérico

Le ponemos por nombre AlwaysUnloadDll y, una vez creado, hacemos doble clic sobre él y le ponemos el valor 1

Cerramos las ventanas y reiniciamos el equipo.

No hay comentarios: