System.Windows.Application类泄漏

时间:2014-01-30 23:43:21

标签: .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;
}

如果我评论Application app;,则没有泄漏,否则我会在几秒钟内耗尽内存。当然我不需要那么多窗口,但是在添加几百个窗口之后,私有字节会不断增加。我希望有人可以告诉我发生了什么,因为这对我来说非常重要。对于我正在构建的应用程序,必须小心使用内存。

1 个答案:

答案 0 :(得分:0)

当我调试时,我决定不打开窗口。我这样做是为了隔离泄漏。但似乎没有关闭一个窗口(即使它从未被打开)导致泄漏。 In this article您可以看到调用Window.Close方法可以解决问题而且确实存在问题。我寻找的泄漏并不是我认为的那样。