例如,如果您加载xml并因任何原因使用它:
XDocument doc = XDocument.Load("my.xml");
既然你已经完成了它并且想要释放它所使用的任何内存,那么我最初认为将它设置为null会完成这项工作,但事实并非如此,那么释放已用内存的正确方法是什么呢?有可能吗?
答案 0 :(得分:3)
你正在做正确的事。让GC担心在压力时收集它的时间。
答案 1 :(得分:2)
正确的方法是简单地停止使用doc
。垃圾收集器将在下次调用时清理内存,并确定代码不再引用doc
。
如果doc
是本地的,JIT将确定它使用的最后一个点,并使其在此时可以收集。没有必要null
出来。 Raymond Chen有一篇很好的博客文章解释了这是如何工作的