VC++如何收回模式对话框内存

来源:百度知道 编辑:UC知道 时间:2024/05/14 13:14:24
求助:有个问题——

问题:现在我从对话框A打开模式对话框B,则进程所占内存增加(在任务管理器中观察)。但是在关闭B后,发现进程占用内存并没有减少。有什么办法在对话框B关闭(EndDialog)后收回其原先占用的内存?

附注一:发现在关闭QQ聊天对话框时,QQ进程内存会减小,看来是有办法解决以上问题的。

附注二:问题中的进程内存空间,在对话框最小化时,内存会大大减小(这个不难理解),但是在对话框还原 时,进程占用内存空间会小于最小化之前,也就是说OS自动收回了部分空间。
(补充)以上对话框是MFC生成的,对话框内没有申请内存。我试过了,即使是最简单的对话框,也有以上问题。

模式对话框 会自动销毁 不需要自己去销毁
之所以出现你所描述现象 我想是因为你在该对话框内申请了内存没有销毁掉
可以在该对话框对应类的析构函数中销毁之,不过最好用完就销毁
----------------------------------------------------------
模式对话框 会自动销毁 这点是无疑的
另外需要提示你的是 窗口 和该窗口所对应类的对象 生存周期是不同的,这点也会造成你所描述的问题