Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net System.Windows.Application类泄漏_.net_Wpf_Memory Leaks - Fatal编程技术网

.net System.Windows.Application类泄漏

.net System.Windows.Application类泄漏,.net,wpf,memory-leaks,.net,Wpf,Memory Leaks,当我遇到这个问题时,我正在寻找我的应用程序中的漏洞。在剥离我的应用程序的所有内容后,这就是剩下的代码 using namespace System; using namespace System::Windows; [STAThread] int main(void) { Application app; for(int i = 0; i < 100000000; i++) Window^ m = gcnew Window; return 0; }

当我遇到这个问题时,我正在寻找我的应用程序中的漏洞。在剥离我的应用程序的所有内容后,这就是剩下的代码

using namespace System;
using namespace System::Windows;

[STAThread]
int main(void)
{
    Application app;
    for(int i = 0; i < 100000000; i++)
        Window^ m = gcnew Window;
    return 0;
}
使用名称空间系统;
使用名称空间系统::Windows;
[状态线程]
内部主(空)
{
应用程序;
对于(int i=0;i<100000000;i++)
窗口^m=新窗口;
返回0;
}

如果我评论
应用程序输出,没有泄漏,否则我会在几秒钟内耗尽内存。当然,我不需要那么多的窗口,但是在添加了几百个之后(可能会发生这种情况),私有字节会不断增加。我希望有人能告诉我发生了什么,因为这对我很重要。我正在构建的应用程序必须小心内存。

调试时,我决定不打开窗口。我这样做是为了隔离泄漏。但不关闭窗户(即使从未打开过)似乎会导致泄漏。
您可以看到,调用
Window.Close
方法解决了问题,它确实解决了问题。我所寻找的漏洞并不是我想象的那样。

我喜欢人们不说原因就投票否决的方式。很有教育意义。