Ver Mensaje Individual
  #9 (permalink)  
Antiguo 14/06/2005, 23:14
Avatar de xknown
xknown
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
El comportamiento del GC es no determinístico (obviamente influyen factores como los que mencionas), el hecho de que hagas "Obj = Nothing" no indica que ese momento el GC entre en funcionamiento y haga la "limpieza" de los objetos que ya no tienen referencias, estos permanecerán en el heap hasta que el GC entre en funcionamiento, puedes forzarlo con GC.Collect, no es muy usual hacer eso: comentarios al respecto y esto es lo que dice el libro del que comento más abajo.
Cita:
Avoid Calling GC.Collect

The default GC.Collect method causes a full collection of all generations. Full collections are expensive because literally every live object in the system must be visited to ensure complete collection. Needless to say, exhaustively visiting all live objects could, and usually does, take a significant amount of time. The garbage collector's algorithm is tuned so that it does full collections only when it is likely to be worth the expense of doing so. As a result, do not call GC.Collect directly — let the garbage collector determine when it needs to run.

The garbage collector is designed to be self-tuning and it adjusts its operation to meet the needs of your application based on memory pressure. Programmatically forcing collection can hinder tuning and operation of the garbage collector.
Por otro lado, ten en cuenta que el GC no actúa sobre objetos no manejados (acceso a ficheros, acceso a recursos de red, conexiones a base de datos, etc), en ese caso tienes que liberar los recursos manualmente.

Puedes ver el funcionamiento del GC en una animación, descargas el archivo "Día 06 y 07", dentro del archivo compreso hay otro con el nombre "GarbageCollect.zip".
http://www.buayacorp.com/vb.net/

Viendo que te preocupa lo del rendimiento de tus aplicaciones, te recomiendo la lectura del siguiente libro (disponible gratuitamente en formato pdf):
http://msdn.microsoft.com/library/de...l/scalenet.asp
__________________
Alex Concha
Buayacorp - Programación y Diseño