Fra*_*rme 1 c# memory-management out-of-memory
我有一个List <>,其中包含大约800,000个对象.完成此列表后,我将其设置为null,然后继续执行其余的例程.
问题是.NET的垃圾收集器似乎没有足够快地完成它的工作,因为在将此列表设置为null之后,内存使用保持不变并且我得到"内存不足"异常.
有没有办法等待垃圾收集器完成它的工作?
也许我可以重新设计我的程序,所以我不会一次加载800,000个项目,但这是一次性运行程序,根本不会在生产中使用.
谢谢!
你可以打电话:
GC.Collect();
GC.WaitForPendingFinalizers();
//I have occasionally seen an extra call to GC.Collect() here
Run Code Online (Sandbox Code Playgroud)
但是,我真的只是做这个测试,看它是否有帮助,并确定是否GC是问题.
我假设你已经测试了两种模式Debug和Release模式.
最后,您可能会考虑更改GC延迟模式.
| 归档时间: |
|
| 查看次数: |
381 次 |
| 最近记录: |