Winform应用程序,窗口最小化强制垃圾收集?

cur*_*isk 3 .net c# vb.net garbage-collection memory-management

这是方案,winforms应用程序,通过任务管理器进程监视器进行监视.

在初始启动时旋转高达~61,000K(初始数据网格和数据加载)如果我最小化应用程序,不接触或做任何事情,Mem使用率降至1,380K.当我恢复应用程序时,旋转回到只有5.8K

所以我的问题是,最小化是否会发送一些内部消息来清理资源,因为有问题的应用程序不是焦点?

我注意到的第一个应用程序恰好是VB.NET,但我在主要的C#winform应用程序中观察到了相同的行为.

Han*_*ant 7

您正在查看错误的内存统计信息.这是"工作集",即映射到物理内存的虚拟内存量.内存.Windows在检测到主窗口最小化时会主动修剪工作集.它假定用户暂时不会使用该程序,因此它会从RAM中取消映射页面,以便为其他进程腾出空间.当您重新关注焦点时,Windows仅将页面映射回实际需要的RAM.当应用程序闲置时,其中不是很多.

垃圾收集是一种虚拟内存操作.