我正在调查一个.NET Winforms应用程序中的内存泄漏,当使用我的工具收集快照时,我注意到内存被释放(1GB到1 MB)。我的疑问来了......这真的是内存泄漏吗?当收集我的应用程序没有的快照时,.NET分析器在做什么?它是否强制垃圾收集?如果是这样,我尝试用GC.Collect()做同样的事情,但内存仍然不断增加。期待您的考虑。谢谢你!
1u4esq0p1#
使用GC.Collect()时要小心,因为它 * 不会 * 触发实际的垃圾收集。它只告诉GC最好触发。您可以在这里找到更多信息:https://learn.microsoft.com/en-us/dotnet/standard/garbage-collection/fundamentals?redirectedfrom=MSDN#conditions_for_a_garbage_collection您可以尝试:
GC.Collect()
GC
GC.Collect(2, GCCollectionMode.Forced);
其中2是垃圾收集生成
2
1条答案
按热度按时间1u4esq0p1#
使用
GC.Collect()
时要小心,因为它 * 不会 * 触发实际的垃圾收集。它只告诉GC
最好触发。您可以在这里找到更多信息:https://learn.microsoft.com/en-us/dotnet/standard/garbage-collection/fundamentals?redirectedfrom=MSDN#conditions_for_a_garbage_collection您可以尝试:
其中
2
是垃圾收集生成