winforms .NET应用程序中的快照收集释放了内存,在幕后发生了什么?

pprl5pva  于 2022-11-17  发布在  .NET
关注(0)|答案(1)|浏览(97)

我正在调查一个.NET Winforms应用程序中的内存泄漏,当使用我的工具收集快照时,我注意到内存被释放(1GB到1 MB)。
我的疑问来了......这真的是内存泄漏吗?当收集我的应用程序没有的快照时,.NET分析器在做什么?它是否强制垃圾收集?如果是这样,我尝试用GC.Collect()做同样的事情,但内存仍然不断增加。
期待您的考虑。
谢谢你!

1u4esq0p

1u4esq0p1#

使用GC.Collect()时要小心,因为它 * 不会 * 触发实际的垃圾收集。它只告诉GC最好触发。您可以在这里找到更多信息:https://learn.microsoft.com/en-us/dotnet/standard/garbage-collection/fundamentals?redirectedfrom=MSDN#conditions_for_a_garbage_collection
您可以尝试:

GC.Collect(2, GCCollectionMode.Forced);

其中2是垃圾收集生成

相关问题