Buscar

miércoles, 14 de julio de 2010

Liberar memoria en VS2005

A quien no se le ha quedado pegado el equipo cuando corre Servicios Windows pesados, cuando tiene aplicaciones pesadas con grandes procesos??


Bueno .Net nos entrega una forma sencilla de eliminar o liberar esta memoria a saber

GC.Collect()


Pero También contamos con otra Fascinante forma de Hacerlo, el ejemplo es el siguiente

'Declaramos lo siguiente
Private Declare Auto Function SetProcessWorkingSetSize Lib "kernel32.dll" (ByVal procHandle As IntPtr, ByVal min As Int32, ByVal max As Int32) As Boolean

'Luego Creamos una Función y esta la invocamos de donde queramos
Sub DesocupaMemoria()
Try
Dim Mem As System.Diagnostics.Process
Mem = System.Diagnostics.Process.GetCurrentProcess()
SetProcessWorkingSetSize(Mem.Handle, -1, -1)
Catch ex As Exception
End Try
End Sub


Con esto Estariamos liberando la memoria.

¿Que les parece?

Regards

No hay comentarios:

Publicar un comentario