Visual Basic.NET - Mamoria junto con interfaz

   
Vista:

Mamoria junto con interfaz

Publicado por Juan Pablo (17 intervenciones) el 02/06/2010 17:18:21
Hola: hice una aplicacion en vb.net para realizar un proceso de migración, tuve muchos problemas con el consumo de memoria (se llegaba al maximo de memoria virtual del sistema y se producia un error).
basicamente el sistema hacia estas funciones

CargarTablaOrigen
For each Fila as datarow in Tablaorigen
Realizar inserciones (muchas inserciones, habia un conjunto de llamadas a varios procedimientos y funciones)
next

Todo esto se ejecuta dentro de un subproceso y lo que pasaba era que la propia ejecucion (llamada a funciones) no liberaba los recursos (la memoria) por tanto el consumo de memoria subi y subia.
Probe forzar el garbage collector y no funcionaba (la memoria no bajaba), y probando distintas cosas vi que al minimizar la ventana se liberaba la memoria y esta volvia al nivel que corresponde (en mi caso aproximadamente 10 MB) pero que dejando la ventana minimizada el problema seguia (es decir otra vez comenzaba a subir el uso de memoria y no bajaba).
Al final pude ver que si el formulario se mantiene maximizado o minimizado, el consumo de memoria sube sin liberarla, pero cuando uno pasa el formulario del estado maximizado o restaurado a minimizado el consumo de memoria se restablece a los valores que por logica deberia tener (ya que los recursos usados deberian ser los mismos una vez que se entra al for en mi aplicacion) en mi caso los 10 MB.
No se si eso es un error del VB o del windows o por que se produce esto, si alguien puede ayudarme o explicarme como puedo hacer para no tener que minimizar la ventana se los agradeceré.
Saludos
Juan Pablo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder