5 mensajes Página 1 de 1
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:


        [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);
        }
Parsed in 0.007 seconds, using GeSHi 1.0.8.9


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 ;)
Look at that asshole >>> Imagen <<< Look at that face
It means..."The fuck is this, the fuck is that"
*QUIERO MI DIPLOMA*

c# tiene su propio garbage collector y esta todo automatizado, solo es necesario en algunas tareas que incluyan codigo unmanaged
ImagenImagenImagenImagen

Gracias garra comprendido esta...

Me surgio la duda porque navegando me salieron con que GC no es tan bueno y segun hasta donde comprendo y tengo por entendido al finalizar la aplicacion Sharp se encarga de todo y que GC sirve para forzar la recoleccion y eliminacion de la basura generada. Ahora me queda mas que claro.

Gracias viejo ;)
Look at that asshole >>> Imagen <<< Look at that face
It means..."The fuck is this, the fuck is that"
*QUIERO MI DIPLOMA*

Yo cuando uso webkit si que lo utilizo

CefTask.Post(CefThreadId.UI, () =>
            {
            });
            GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced);
            GC.WaitForPendingFinalizers();

            GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced);
            GC.WaitForPendingFinalizers();

            CefTask.Post(CefThreadId.IO, () =>
            {
            });

            CefTask.Post(CefThreadId.File, () =>
            {
            });
Parsed in 0.004 seconds, using GeSHi 1.0.8.9


Como truco para hacer una apertura limpia pero ya te digo si tu codigo es totalmente managed no lo necesitas
ImagenImagenImagenImagen

Vientos garra, ya que ande por alla le dare a tu code, se agradece viejo...

Saludos ;)

Offtopic:
Ponte tu gif no mmes Pablo, como que con ese te ves muy anaranjado :) el otro traje te hacia ver mas tu
Look at that asshole >>> Imagen <<< Look at that face
It means..."The fuck is this, the fuck is that"
*QUIERO MI DIPLOMA*
5 mensajes Página 1 de 1

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado