Memoria no recuperada al cerrar formularios en NETCF

11/11/2009 - 10:10 por Francisco Rodríguez | Informe spam
Hola.

He buscado tanta información como me ha sido posible, pero no encuentro una
solución al problema. Tengo una pequeña aplicación hecha con C# (VS 2005,
NETCF 2.0 SP1), y el caso es que cada vez que abro un formulario, se va
"comiendo" una pequeña cantidad de memoria (unos 100 - 200 KB) que no se
libera al cerrarlo. Cuanto mayor uso, llega un punto en que no queda memoria
libre y se produce el error fatal (OutOfMemoryException).

He probado de todo: Dispose después de ShowDialog, poner a null los objetos
o conexiones no usadas en el evento Closing del formulario llamado, invocar
al método GC.Collect (esto último ya a la desesperada, pues dicen que no es
recomendable). Pero no hay manera.

Si alguien ha tenido el mismo problema o me puede indicar algún enlace con
posibles soluciones, se agradece.

Un saludo.
 

Leer las respuestas

#1 RFOG
11/11/2009 - 10:22 | Informe spam
¿Creas ese form cada vez que lo abres?

On Wed, 11 Nov 2009 10:10:38 +0100, Francisco Rodríguez
wrote:

Hola.

He buscado tanta información como me ha sido posible, pero no encuentro
una solución al problema. Tengo una pequeña aplicación hecha con C# (VS
2005, NETCF 2.0 SP1), y el caso es que cada vez que abro un formulario,
se va "comiendo" una pequeña cantidad de memoria (unos 100 - 200 KB) que
no se libera al cerrarlo. Cuanto mayor uso, llega un punto en que no
queda memoria libre y se produce el error fatal (OutOfMemoryException).

He probado de todo: Dispose después de ShowDialog, poner a null los
objetos o conexiones no usadas en el evento Closing del formulario
llamado, invocar al método GC.Collect (esto último ya a la desesperada,
pues dicen que no es recomendable). Pero no hay manera.

Si alguien ha tenido el mismo problema o me puede indicar algún enlace
con posibles soluciones, se agradece.

Un saludo.




Microsoft Visual C++ MVP => http://geeks.ms/blogs/rfog
En el amor es lo mismo que en la guerra; plaza que parlamenta está medio
conquistada.

Preguntas similares