例如,启动 Paint.NET。然后用任务管理器查看它的内存使用情况:在我的电脑上,它使用 36Mb。
然后最小化 Paint.NET:现在它只需要 1Mb 多一点。
每个 .NET 应用程序都会发生这种情况。最小化 .NET 应用程序时会发生什么?GC 发生了吗?
例如,启动 Paint.NET。然后用任务管理器查看它的内存使用情况:在我的电脑上,它使用 36Mb。
然后最小化 Paint.NET:现在它只需要 1Mb 多一点。
每个 .NET 应用程序都会发生这种情况。最小化 .NET 应用程序时会发生什么?GC 发生了吗?
任务管理器向您显示属于应用程序的内存量,当时恰好被分页到实际内存中。当您在 Windows 中最小化应用程序时,内核会自动修剪进程工作集以减少内存占用。此行为并非特定于 .NET 应用程序。
如果您查看进程“Private Bytes”值,这将更好地指示进程使用的内存量。修剪流程工作集时,此值不会更改。
Microsoft 在此知识库文章中提供了更多信息:http: //support.microsoft.com/kb/293215