Git   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Windows操作系统和内存pipe理 – 应用程序最小化时会发生什么?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我为这个问题提出了后代的原因和普遍的兴趣。 几年前,我注意到Windows中的一个奇怪的行为。 我知道这在XP中工作,当时它也在Windows 2000甚至98,我会认为这种行为仍然适用于Windows 7。

要设置我的问题,请按照以下步骤尝试此实验。

打开任务pipe理器并导航到进程选项卡。

打开你使用的应用程序,你知道消耗相当数量的内存(一个Web浏览器应该工作正常),并在任务pipe理器中find该过程。

现在通过打开窗口,文档,网页等来使用应用程序,直到应用程序的内存使用量显着增长。

记下应用程序的内存使用情况,并最小化应用程序 – 应用程序正在使用的内存量将显着减less。

最后,恢复应用程序。

在恢复窗口之后,应该确保应用程序的内存使用量应该稍微高一点,但不要超过最小化应用程序之前的位置。 这与任何基于GUI的应用程序都非常一致,但是对于更大的应用程序来说,它肯定更加深刻

使用P /调用的GlobalSize时堆损坏

如何在while循环中声明公共String(C#)

如何以编程方式更改文件夹审核选项下的“适用于”字段(.NET)

2 AverageTimer32性能计数器

如何访问一个窗口?

在操作系统内部,发生什么过程迫使这个(假设的)垃圾回收发生? 而且,通过COM或者一些.Net调用,有一种方法可以在不最小化应用程序的情况下强制这个过程? 如果是这样,请提供源代码。 语言并不重要。

如果你像我一样,你可能会同时打开很多应用程序。 内存使用可以爬起来……在你知道它之前,你需要closures几个应用程序来释放资源。 如果我至less可以将软件集成到我已经控制一个机制来强制从操作系统中进行垃圾收集,那就好了。

我知道.Net中有一个GC对象,你可以根据需要调用垃圾清理。 但是,它并不与应用程序最小化时发生的内存清理的性质有关。

我希望这是一个令人头疼的问题,在多年的好奇心之后,有人可以给我一个很好的技术解释。

页面文件进一步深入“兔子洞”

有趣的东西已经作为Kragen&Alex K.的这个问题的答案发布了。在阅读他们都发布的知识库文章时,我发现也有一种方法可以防止这种行为发生。 什么时候你想要防止这种分页释放的例子? 我正在尝试阅读文档以尽可能多地了解这一点。 很多这些信息对我来说都是新的,因为我从来不需要在.Net应用程序中实现这些。 一个用例会帮助我理解为什么以及何时我想要避免这种行为的推理。

处理丢失的.NET Framework(0xc0000135)崩溃更好?

如何使用dotnet框架4.0提取zip文件,而无需使用第三方dll

VB中有“协同”function吗?

如何比较两个不同的文本文件

如果打开DDE频道的应用程序崩溃,会发生什么情况?

你看到的进程不是垃圾收集 – Windows正在“修剪工作集”(即分页尽可能多的内存,因为它可以磁盘),以释放前台应用程序的内存。

请参阅以下链接了解更多信息:

当顶层窗口最小化时,应用程序的工作集被修剪(KB)

SetProcessWorkingSetSize函数

上面链接的知识库文章描述了如何防止自动发生(通过拦截WM_SYSCOMMAND命令),以及如何明确地导致这种情况随时发生(通过调用SetProcessWorkingSetSize )。

最小化一个窗口可以导致窗口修剪该进程的工作集 ,以利于剩余的前台应用程序(通过调用SetProcessWorkingSetSize()来完成)。

大佬总结

以上是大佬教程为你收集整理的Windows操作系统和内存pipe理 – 应用程序最小化时会发生什么?全部内容,希望文章能够帮你解决Windows操作系统和内存pipe理 – 应用程序最小化时会发生什么?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: