Hola mis buenes, ahora vengo con esta gran incognita y como el titulo lo canta a gritos, a ver si alguien me puede echar una manita para ver de que manera puedo liberar la mayor cantidad posible de memoria de un Windows Forms al salir de la app.
Utilizaba GC.Collect(); a secas pero documentandome segun no funciona al 100% (solo) y navegando por ahi me encontre este codigo:
Utilizaba GC.Collect(); a secas pero documentandome segun no funciona al 100% (solo) y navegando por ahi me encontre este codigo:
[DllImport("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize", ExactSpelling = true, CharSet = CharSet.Ansi, SetLastError = true)]
private static extern int SetProcessWorkingSetSize(IntPtr process, int minimumWorkingSetSize, int maximumWorkingSetSize);
public static void MemoryOwnFormFree()
{
GC.Collect();
GC.WaitForPendingFinalizers();
SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1);
}
Ustedes que tienen mas experiencia que tan factible consideran este codigo?
De que manera podria hacerlo para que al terminar mi aplicacion se liberara la mayor cantidad de memoria posible?
Otra, como podria identificar un proceso para liberar el uso de su memoria tambien? Tengo la idea pero me la reservo para no comentar una pndjada.
Gracias por su ayuda...
Saludos De que manera podria hacerlo para que al terminar mi aplicacion se liberara la mayor cantidad de memoria posible?
Otra, como podria identificar un proceso para liberar el uso de su memoria tambien? Tengo la idea pero me la reservo para no comentar una pndjada.
Gracias por su ayuda...
![;) ;)](./images/smilies/-acute.gif)