当我遇到这个问题时,我正在寻找我的应用程序中的泄漏。剥离我的所有内容的应用程序后,这是剩下的代码。
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;
,则没有泄漏,否则我会在几秒钟内耗尽内存。当然我不需要那么多窗口,但是在添加几百个窗口之后,私有字节会不断增加。我希望有人可以告诉我发生了什么,因为这对我来说非常重要。对于我正在构建的应用程序,必须小心使用内存。
答案 0 :(得分:0)
当我调试时,我决定不打开窗口。我这样做是为了隔离泄漏。但似乎没有关闭一个窗口(即使它从未被打开)导致泄漏。
In this article您可以看到调用Window.Close
方法可以解决问题而且确实存在问题。我寻找的泄漏并不是我认为的那样。