C# 从加载的xml中释放内存?
例如,如果加载xml并出于任何原因使用它:C# 从加载的xml中释放内存?,c#,xml,C#,Xml,例如,如果加载xml并出于任何原因使用它: XDocument doc = XDocument.Load("my.xml"); 既然您已经使用完它,并且想要释放它所使用的任何内存,最初我认为将它设置为null可以完成工作,但实际上并没有,那么如果可能的话,释放已使用内存的正确方法是什么呢?您正在做正确的事情。让GC像在有压力时一样担心它何时收集 正确的方法是简单地停止使用doc。垃圾收集器将在下次调用时清理内存,并确定代码不再引用doc 如果doc是本地文件,JIT将确定最后一个使用点,并使其
XDocument doc = XDocument.Load("my.xml");
既然您已经使用完它,并且想要释放它所使用的任何内存,最初我认为将它设置为null可以完成工作,但实际上并没有,那么如果可能的话,释放已使用内存的正确方法是什么呢?您正在做正确的事情。让GC像在有压力时一样担心它何时收集 正确的方法是简单地停止使用
doc
。垃圾收集器将在下次调用时清理内存,并确定代码不再引用doc
如果doc
是本地文件,JIT将确定最后一个使用点,并使其可在该点进行回收。无需null
将其删除。陈雷蒙(Raymond Chen)有一篇很好的博客文章解释了这是如何工作的