Memory management 清除和释放内存

Memory management 清除和释放内存,memory-management,memory-leaks,c#-2.0,Memory Management,Memory Leaks,C# 2.0,我正在用C#.Net开发一个windows应用程序。这实际上是一个插件,安装在DBMS中。这个插件的目的是读取DBMS中的所有记录(记录是一个对象),匹配提供的条件,并将它们作为XML文件传输到本地文件系统。我的问题与内存的使用有关。一切正常。但是,每次我读取一条记录时,它都会占用内存,在达到一定限制后,由于内存不足,插件就会停止工作 我正在处理大约10k-20k的记录(对象)。C#中是否有任何与内存相关的方法,可以在每个记录写入XML文件后立即清除它们的内存。我尝试了所有基本的内存处理方法,如

我正在用C#.Net开发一个windows应用程序。这实际上是一个插件,安装在DBMS中。这个插件的目的是读取DBMS中的所有记录(记录是一个对象),匹配提供的条件,并将它们作为XML文件传输到本地文件系统。我的问题与内存的使用有关。一切正常。但是,每次我读取一条记录时,它都会占用内存,在达到一定限制后,由于内存不足,插件就会停止工作

我正在处理大约10k-20k的记录(对象)。C#中是否有任何与内存相关的方法,可以在每个记录写入XML文件后立即清除它们的内存。我尝试了所有基本的内存处理方法,如clear()、flush()、gc()、和finalize()/但没有用

请考虑以下内容:

  • 记录是一个对象,我无法更改它并使用其他有效数据 结构
  • 每次读取记录时,我都将其写入XML。重复这个 一次又一次
C#是一种垃圾收集语言。因此,要回收对象使用的内存,需要确保删除对该对象的所有引用,以便该对象符合收集条件。具体地说,这意味着您应该在完成所有需要处理的操作后,从任何包含对这些对象的引用的数据结构中删除这些对象

如果您对所使用的数据结构的类型有更具体的了解,我们可能会给出更具体的答案