为什么MFC程序占用内存很大

为什么MFC程序占用内存很大,第1张

你可以用Process Explorer查看到底什么占用了1G的虚拟内存;如果大部分被占用的是Sharable的,那说明是系统调用的DLL。对于那些不是你程序经常使用的DLL,可以考虑使用链接选项/delayload

程序在注册表里保留了FRAME上次的状态,包括大小位置以及各工具类窗口的布局等.

解决方法有二,其中第一个简单, 第二更稳妥:

1.)在InitInstance(..)调用CleanState(_T("WorkSpace"))

2.)让MainFrame按它的习惯布局完了再调整大小, 在此之前让MainFrame不显示.关键点: WM_CREATE, WM_WINDOWPOSCHANGING

你可能还会发现FRAME有时候会闪一下, 看着不舒服, 用第二个方法同样管用.

要用MFC只能如此,除非你不用。

不过用MFC也不至于有2M吧,除非是DEBUG版,Release版一般的小程序都在100k以下。

另外在vc里有优化选项,你可以选择优化速度,也可以选择优化程序大小,选择优化大小看情况,大概还可以减少几k的量。

-----

鼠标右键点击工具栏,选择“build”或“组建”


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11727409.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存