我正在使用C#.Net开发一个Windows应用程序。这实际上是一个安装在DBMS中的插件。此插件的目的是读取DBMS中的所有记录(记录是对象),匹配提供的条件并将它们作为XML文件传输到我的本地文件系统。我的问题与内存的使用有关。一切都很好。但是,每次我读取一条记录时,它都会占用内存,并且在一定限制之后,由于内存不足,插件会停止工作。
我正在处理大约10k-20k的记录(对象)。 C#中是否存在任何与内存相关的方法,以便在将每个记录写入XML文件后立即清除它们的内存。我尝试了所有基本的内存处理方法,如clear(),flush(),gc()和& finalize()/但没用。
请考虑他跟随:
答案 0 :(得分:0)
C#是一种垃圾收集语言。因此,要回收对象使用的内存,您需要确保删除对该对象的所有引用,以使其符合收集条件。具体来说,这意味着您应该在完成对它们执行任何操作后,从任何持有对它们的引用的数据结构中删除对象。
如果您对您正在使用的数据结构类型有更具体的了解,我们可以提供更具体的答案。