文件对话框 招致的内存增大

文件对话框 招致的内存增大

文件对话框 导致的内存增大
如题,MFC中打开文件对话框后,使得内存增加了好几千。这里只是打开了文件对话框,还没有进行任何操作。直接关闭文件对话框,增加的内存也米有降低。
这该怎么办呢?
代码如下:
        TCHAR szFilter[] = _T("Excel文件(*.xls)|*.xls");
CFileDialog fileDlg(FALSE, _T("xls"), _T("only English"), OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, this);

// 显示保存文件对话框   
if (IDOK == fileDlg.DoModal())

{
// 如果点击了文件对话框上的“保存”按钮,则将选择的文件路径显示到编辑框里   
strFilePath = fileDlg.GetPathName();
       }

------解决思路----------------------
你可以试试再打开,是否会持续增长

增长一下的话,是很正常的

毕竟你新开了一个窗体,要为这个窗体分配内存

不会立即释放也是正常现象.

你需要测试的是,
1.连续不断打开这个窗体,会不会持续增长,还是再打开就稳定了?
2.过一分钟再看,内存降下去了没有,还是永远不下降?
------解决思路----------------------
FileDialog 调用的是windows预设的窗体吧?..
增长内存应该算比较正常啊..你这个增长量 应该还算正常吧..毕竟FileDialog不是你设计的简单窗体..
------解决思路----------------------
引用:
Quote: 引用:

FileDialog 调用的是windows预设的窗体吧?..
增长内存应该算比较正常啊..你这个增长量 应该还算正常吧..毕竟FileDialog不是你设计的简单窗体..


增长内存是对的啊,但是为什么不会回落呢?文件对话框 招致的内存增大


於黾大神已经解释了这个问题..这个FileDialog是在windows中经常要用到的窗体...优化后的结果就是并未释放..以免下次申请内存降低效率..
------解决思路----------------------
你可以看VS的调试信息,估计在显示这个对话框前,加载了好多dll