请教如何释放Console窗口占用的内存
我有一个Console程序, 运行后使用内存为19M, 但最小化后就变为1M左右了. 再恢复内存也不会再长上去. 对于其它类型的程序也有这种问题, 请教这是为什么? 怎么才能释放这块被'侵占'的内存呢? 问题点数:50、回复次数:7Top
1 楼sinall()回复于 2005-01-22 12:11:26 得分 10
不明白,向高人学习。
这么说,以后我们的程序都做成一启动就让它最小化喽?Top
2 楼ihsgnep(石头->信心最重要 努力是王道)回复于 2005-01-22 12:24:05 得分 0
????不懂Top
3 楼coolstar14(寒星溪月)回复于 2005-01-22 16:08:04 得分 0
运行 19M ,
手工最小化 1M
还原来正常窗口 还是1M未变.
怎么回事呢?Top
4 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-01-22 16:46:11 得分 10
没碰到过,一运行就19M,是不是启动的时候有什么别的耗资源Top
5 楼coolstar14(寒星溪月)回复于 2005-01-23 20:28:23 得分 0
一运行就19M是举例来说. 程序用些内存也是正常的.Top
6 楼dandycheung(珠穆朗玛)回复于 2005-01-24 12:28:39 得分 30
这些内存是由系统自动维护的,通常你不应该手动调整,之所以一启动会用很大的内存,应该是你用了太多的动态库导致的,如果这些动态库是别人的,你可以考虑使用延迟加载或者动态加载,如果是你自己写的,那就需要手工调整函数在最终映像里的位置,需要很多辅助工具进行测试,根据函数的调用频繁程度决定,十分麻烦。如果你确实对这个值很敏感,建议你参看 SetProcessWorkingSetSize 及其相关函数的文档,并到 MSDN 上去搜索相关的文献。Top
7 楼coolstar14(寒星溪月)回复于 2005-01-24 13:05:13 得分 0
谢谢楼上的回复.
我对程序占用的内存是有数的, 程序启动确实有个比较大的缓存被开出来, 这个缓存在我是必须的.
我提出这个问题中只是对程序会最小化内存变小提出疑问, 是本着探讨的心态的. 如果可能由此省出些内存当然好, 如果没有解决办法(确实是系统不让干预)那也没有办法, 程序也不会有问题.
结帖了.Top




