我在C#中创建了一个程序.该程序使用了大约60-70 MB的内存.
但是当我最小化该程序时,它需要更少的内存,也就是10 MB.
但是当我最小化该程序时,它需要更少的内存,也就是10 MB.
当我最大化或回到该程序,它使用20 MB …
为什么会发生这种情况?
这与垃圾收集无关 – 这与非.NET程序也发生(尝试最小化浏览器,同时查看其内存占用).
在最小化程序的时刻,Windows OS将不再需要将UI组件保留在内存中,因此内存要求较低.
那就是 – 当应用程序最小化时,windows会修剪工作集.
请参阅this channel9线程和KB article(谢谢@Sasha Goldshtein).