从加载的xml中释放内存?

时间:2010-12-02 20:19:55

标签: c# xml

例如,如果您加载xml并因任何原因使用它:

XDocument doc = XDocument.Load("my.xml");

既然你已经完成了它并且想要释放它所使用的任何内存,那么我最初认为将它设置为null会完成这项工作,但事实并非如此,那么释放已用内存的正确方法是什么呢?有可能吗?

2 个答案:

答案 0 :(得分:3)

你正在做正确的事。让GC担心在压力时收集它的时间。

答案 1 :(得分:2)

正确的方法是简单地停止使用doc。垃圾收集器将在下次调用时清理内存,并确定代码不再引用doc

如果doc是本地的,JIT将确定它使用的最后一个点,并使其在此时可以收集。没有必要null出来。 Raymond Chen有一篇很好的博客文章解释了这是如何工作的