memoria llena

31/01/2005 - 13:58 por Racsus | Informe spam
Buenas a todos, en .NET, ¿Hay alguna manera de hacer para
que se libere
memoria? Es que tengo una aplicacion que cada vez que abre
una ventana carga
memoria de modo que cuando la abres 50 veces tienes la
memoria llena. ?¿?¿

he usado system.gc.collect y no funciona. tb he intentado
llamar a me.dispose y nada.
 

Leer las respuestas

#1 Federico A. Colli
30/03/2005 - 23:29 | Informe spam
Hola.
Yo no me preocuparía tanto, el GC funciona con un algoritmo que verifica
cada tanto tiempo el estado de los recursos, con lo que realiza la
colleccion automáticamente. Si tienes más de una aplicación abierta de la
que te refieres, seguramente el GC recolectará la basura más a menudo, o
bien cuando la memoria utilizada llegue a un nivel crítico.
Lo mismo sucede si pruebas la aplicación en una PC con 128, 256, 512 MB u
otra configuración de RAM. El GC actuará de acuerdo al recuento de recursos,
por lo que en el Administrador de Tareas veras para una misma aplicación un
consumo de memoria distinto para las distintas configuraciones de PC
(mirandolo desde el punto de vista de recursos).

Incluso no es conveniente forzar la recoleccion, porque puede suceder (si no
lo resuelves eficientemente) que la recoleccion consuma demasiado tiempo de
procesador por reiteradas peticiones, y es básicamente por eso que utiliza
un algoritmo que tiene en cuenta tiempos, recursos totales y libres para
hacerlo aleatoriamente.

Saludos
Federico A. Colli
Analista Universitario de Sistemas
Santa Fe - Argentina


"Racsus" escribió en el mensaje
news:25f901c50794$8a05fe50$
Buenas a todos, en .NET, ¿Hay alguna manera de hacer para
que se libere
memoria? Es que tengo una aplicacion que cada vez que abre
una ventana carga
memoria de modo que cuando la abres 50 veces tienes la
memoria llena. ?¿?¿

he usado system.gc.collect y no funciona. tb he intentado
llamar a me.dispose y nada.

Preguntas similares