Recuperar Memoria formularios MDI

30/10/2006 - 16:41 por CC | Informe spam
Hola a todos:

Tengo una aplicacion MDI hecha en 2005. El tema es que los usuarios se
quejan de que pasado un tiempo la aplicación se bloquea y tienen que cerrar
y volver a entrar.

He observado en el administrador de tareas de windows, que al abrir
formularios hijos el uso de memoria del proceso correspondiente a la
aplicación problematica, sube, pero que al cerrar estos formularios no se
recupera. Es esto normal ??.

Alguna pista para recuperar esta memoria. Muchas gracias por vuestra ayuda
 

Leer las respuestas

#1 Alberto Poblacion [MVP]
30/10/2006 - 17:03 | Informe spam
"CC" wrote in message
news:%23lw%239lD$
He observado en el administrador de tareas de windows, que al abrir
formularios hijos el uso de memoria del proceso correspondiente a la
aplicación problematica, sube, pero que al cerrar estos formularios no se
recupera. Es esto normal ??.



Es más o menos normal. En teoría, en .Net, el "recogedor de basura" no
arranca hasta que anda escaso de memoria, y entonces se pone a recuperar la
de todos los objetos que han sido liberados con anterioridad. Por lo visto,
en tu caso, algo está fallando porque la memoria no se recupera con la
debida puntualidad.

Alguna pista para recuperar esta memoria.



Puedes lanzar el recogedor de basura con la instrucción:
System.GC.Collect()

Si sigue fallando, es conveniente revisar el programa a ver si tiene
alguna fuga de memoria, es decir, algún recurso que se asigna pero luego no
se libera. Por ejemplo, cuando dices que al cerrar los formularios no se
recupera la memoria, me imagino que con lo de "cerrar" te refieres a
hacerles el Dispose(), y no solamente el Close(). Si te limitas a hacerles
el Close() y no el Dispose(), siguen existiendo en memoria aunque no se vean
en pantalla, y no se arregla nada haciendo un Collect().

Preguntas similares