C# 如何获得桌面堆自由大小?
我在网上找了一个星期,什么也没找到。 我想知道剩下的桌面堆空闲大小是多少。 它也很好 我不能安装桌面堆监视器。C# 如何获得桌面堆自由大小?,c#,C#,我在网上找了一个星期,什么也没找到。 我想知道剩下的桌面堆空闲大小是多少。 它也很好 我不能安装桌面堆监视器。 谢谢剩余的堆空间量实际上不是一个相互测试的数字。堆空间受到应用程序可以寻址的内存量或系统的虚拟内存大小的限制,这两个因素都是第一位的 如果您接近填满虚拟内存大小,则系统已经将其中的一半交换到磁盘,因此此时系统的磁盘交换量过大 我不知道您到底想了解内存使用情况,但剩余的堆空间量很可能不会告诉您任何有用的信息。剩余的堆空间量实际上不是一个查询数字。堆空间受到应用程序可以寻址的内存量或系统的
谢谢剩余的堆空间量实际上不是一个相互测试的数字。堆空间受到应用程序可以寻址的内存量或系统的虚拟内存大小的限制,这两个因素都是第一位的 如果您接近填满虚拟内存大小,则系统已经将其中的一半交换到磁盘,因此此时系统的磁盘交换量过大
我不知道您到底想了解内存使用情况,但剩余的堆空间量很可能不会告诉您任何有用的信息。剩余的堆空间量实际上不是一个查询数字。堆空间受到应用程序可以寻址的内存量或系统的虚拟内存大小的限制,这两个因素都是第一位的 如果您接近填满虚拟内存大小,则系统已经将其中的一半交换到磁盘,因此此时系统的磁盘交换量过大
我不知道您到底想了解内存使用情况,但堆空间的剩余量很可能不会告诉您任何有用的信息。我不确定知道桌面堆有多少空闲空间会有多大好处。发件人: 虽然可以想出一个 理论最大窗数 可以放在桌面上的类 堆,这个数字是无法实现的 练习,因为桌面堆是 与所有其他用户界面共享 桌面上的对象 关键是,在任何给定的时间,知道空闲桌面堆的数量都不会告诉您可以创建多少个对象 通常,当有人问这个问题时 问题是,真正的问题是 他们设计了一套切中要害的系统 桌面堆耗尽的原因 成为一个问题,他们需要 重新设计程序,使其不受影响 在中浪费桌面堆资源 将军 理想情况下,您不需要知道有多少空闲桌面堆。如果这是一个问题,您可能应该考虑重新设计您的应用程序。换言之,他说了同样的话: 增加桌面堆是一个非常重要的问题 有效的解决方案,但这不是问题的关键 终极版。真正的解决办法是 消耗更少的资源 并提供了如何重新设计应用程序的示例:
- 使用TabControls并在每个选项卡可见时动态创建其内容李>
- 使用可展开/可折叠区域,并仅在需要时使用控件和数据再次填充它们李>
- 尽快释放资源(使用Dispose方法)。区域塌陷时,可以清除其子控件。当选项卡变为隐藏状态时,它也是如此李>
- 使用MVP设计模式,这有助于实现上述功能,因为它将数据与视图分离李>
- 使用布局引擎、标准FlowLayoutPanel和TableLayoutPanel引擎或自定义引擎,而不是创建嵌套面板、组框和拆分器的深层层次结构(空拆分器本身使用三个窗口句柄…)
- 使用TabControls并在每个选项卡可见时动态创建其内容李>
- 使用可展开/可折叠区域,并仅在需要时使用控件和数据再次填充它们李>
- 尽快释放资源(使用Dispose方法)。区域塌陷时,可以清除其子控件。当选项卡变为隐藏状态时,它也是如此李>
- 使用MVP设计模式,这有助于实现上述功能,因为它将数据与视图分离李>
- 使用布局引擎、标准FlowLayoutPanel和TableLayoutPanel引擎或自定义引擎,而不是创建嵌套面板、组框和拆分器的深层层次结构(空拆分器本身使用三个窗口句柄…)