Reducir consumo memoria de mi aplicativo

25/09/2007 - 16:00 por jacgandres | Informe spam
Gracias por su atencion, quiero preguntar como hago para que mi aplicativo
winforms, el cual contiene un formulario mdi y varios hijos consuma menos
memoria ram??? ya quite las referencias sin utilizar y a toda variable y/o
formulario que dejo de usar le hago disposing(true) y/o la igualo a null...

Alguien tiene una pista?

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
25/09/2007 - 16:06 | Informe spam
"jacgandres" wrote in message
news:
Gracias por su atencion, quiero preguntar como hago para que mi aplicativo
winforms, el cual contiene un formulario mdi y varios hijos consuma menos
memoria ram??? ya quite las referencias sin utilizar y a toda variable y/o
formulario que dejo de usar le hago disposing(true) y/o la igualo a
null...



Lo que ocurre es que cada vez que asignas un objeto y luego lo igualas a
null (o se sale de alcance), NO se libera en el momento. En lugar de eso, la
memoria se queda ocupada, y solo se libera cuando el sistema necesita
asignar más memoria y considera que anda escaso. En ese momento es cuando
arranca el Garbage Collector y libera "realmente" esos objetos que en tu
programa habías liberado hace rato.
Si quieres lanzar a mano el recogedor de basura para ver cuánta memoria
libera, puedes hacerlo con System.GC.Collect();
Respuesta Responder a este mensaje
#2 nayumi
26/09/2007 - 16:51 | Informe spam
tambien mejora mucho el rendimiento el uso de la clausula using


"Alberto Poblacion"
escribió en el mensaje news:el%23i$03$
"jacgandres" wrote in message
news:
Gracias por su atencion, quiero preguntar como hago para que mi
aplicativo
winforms, el cual contiene un formulario mdi y varios hijos consuma menos
memoria ram??? ya quite las referencias sin utilizar y a toda variable
y/o
formulario que dejo de usar le hago disposing(true) y/o la igualo a
null...



Lo que ocurre es que cada vez que asignas un objeto y luego lo igualas
a null (o se sale de alcance), NO se libera en el momento. En lugar de
eso, la memoria se queda ocupada, y solo se libera cuando el sistema
necesita asignar más memoria y considera que anda escaso. En ese momento
es cuando arranca el Garbage Collector y libera "realmente" esos objetos
que en tu programa habías liberado hace rato.
Si quieres lanzar a mano el recogedor de basura para ver cuánta memoria
libera, puedes hacerlo con System.GC.Collect();


Respuesta Responder a este mensaje
#3 Alberto Poblacion
26/09/2007 - 18:04 | Informe spam
"nayumi" wrote in message
news:
tambien mejora mucho el rendimiento el uso de la clausula using



Bueno, cuando el OP dijo que ya estaba llamando a disposing(true),
entendí que lo que quería decir era que llamaba a Dispose(), que al fin y al
cabo es lo que hace internamente el using, así que no creo que note mucha
diferencia (pese a lo cual, es bueno usar el using porque así garantizas que
no se te escapa alguna rama del código en la que se te olvide el Dispose).
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida