Liberar recursos con Dispose

20/07/2005 - 09:13 por Ramon Barrena | Informe spam
Hola,

Ten un programa con un formulario form1 que llama al pulsar un botón a un
segundo formulario form2, en este form2 creo un objeto image con el cual
muestro cierta información. El problema que tengo es que cuando lleva unas
horas funcionando el programa empieza a ir mas lento, hay que salirse y
volver a ejecutarlo para que coja su velocidad normal.

Este problema debe ser que no se liberan bien los objetos que creo en el
form2 y se van acumulando en la memoria hasta hacer mas lento el equipo. En
el botón del form1 tengo el código siguiente:

Form2 miFormulario = new Form2();
miFormulario.ShowDialog();
miFormulario.Dispose();

Se supone que el dispose debe eliminar completamente todos los objetos
contenidos en el form2, no? debería utilizar otro método para liberar esa
memoria?

En el método close del form2 tengo puesto también miImage.Dispose() para
intentar liberar la memoria que ocupa el objeto image pero parece no
funcionar. Cual podría utilizar?

Gracias por vuestra ayuda.

Saludos,
 

Leer las respuestas

#1 Carlos Fouz
20/07/2005 - 12:43 | Informe spam
llamar a la GC ( garbage collector )


GC.Collect

Tambien existe un metodo que le indicas por el objeto que desea que empiece
la recoleccion

Saludos Carlos Fouz
www.canaldotnet.com

"Ramon Barrena" escribió:

Hola,

Ten un programa con un formulario form1 que llama al pulsar un botón a un
segundo formulario form2, en este form2 creo un objeto image con el cual
muestro cierta información. El problema que tengo es que cuando lleva unas
horas funcionando el programa empieza a ir mas lento, hay que salirse y
volver a ejecutarlo para que coja su velocidad normal.

Este problema debe ser que no se liberan bien los objetos que creo en el
form2 y se van acumulando en la memoria hasta hacer mas lento el equipo. En
el botón del form1 tengo el código siguiente:

Form2 miFormulario = new Form2();
miFormulario.ShowDialog();
miFormulario.Dispose();

Se supone que el dispose debe eliminar completamente todos los objetos
contenidos en el form2, no? debería utilizar otro método para liberar esa
memoria?

En el método close del form2 tengo puesto también miImage.Dispose() para
intentar liberar la memoria que ocupa el objeto image pero parece no
funcionar. Cual podría utilizar?

Gracias por vuestra ayuda.

Saludos,





Preguntas similares