En los comentarios a un answer I wrote tuvimos una discusión sobre fugas de memoria y IDisposable
donde no llegamos a ninguna conclusión real.¿Se ignorarán las fugas de memoria de causas descartables?
Una clase que maneja recursos no administrados probablemente implemente IDisposable
. Si lo ignora y no llama al Dispose
ni envuelve el objeto en un using
, ¿dará lugar a que se filtre el recurso no administrado? ¿O se limpiará adecuadamente cuando el GC recolecte el objeto?
Podemos suponer que el manejo del recurso no administrado clase tiene una aplicación correcta de IDisposable
, incluyendo finalizador etc.
http://www.bluebytesoftware.com/blog/2005/04/08/DGUpdateDisposeFinalizationAndResourceManagement.aspx –
Suponiendo que las cosas se hacen correctamente puede ser una cosa peligrosa. Pero aun así, esto está relacionado: http://stackoverflow.com/questions/6652044/c-language-garbage-collection-suppressfinalize/6652318#6652318 –
Hay muchas situaciones en las que no se puede escribir un finalizador correcto porque Finalize es llamado en un hilo diferente de Dispose se invocará si se llama normalmente. –