.NET垃圾回收必须有一个秘密,我现在还不明白。 我们的C#WinForms应用程序有一个对话框,通过OR映射器工具加载非常多的对象。这个过程消耗了大量的内存,我们认为这些内存大部分都可以被字符串占用。当我们打开这个对话框时,任务管理器显示了900MB的内存使用情况,并且通过再次执行查询,我们得到了内存不足异常。 Whow。c#和垃圾回收
现在我们得到了一些类型的垃圾收集完成时的tipp,当我们最小化应用程序。通过这样做并再次最大化,应用程序仅消耗10MB。凉。
但是现在,当我们再次执行查询时,内存消耗突然跳回到900MB,我们再次遇到内存不足异常。
这里发生了什么,我们如何减少我们的内存消耗?在这种情况下,如何研究和减少内存消耗?
您是否使用过诸如ANTS Memory Profiler等工具来查看哪些对象占用了太多内存? –
任务管理器不是诊断此问题的正确工具。 –
你回答了你自己的问题:不要使用太多的记忆! –