我有一个Console程序, 运行后使用内存为19M, 但最小化后就变为1M左右了. 再恢复内存也不会再长上去. 对于其它类型的程序也有这种问题, 请教这是为什么? 怎么才能释放这块被'侵占'的内存呢?

解决方案 »

  1.   

    运行 19M , 
    手工最小化 1M
    还原来正常窗口 还是1M未变.怎么回事呢?
      

  2.   

    这些内存是由系统自动维护的,通常你不应该手动调整,之所以一启动会用很大的内存,应该是你用了太多的动态库导致的,如果这些动态库是别人的,你可以考虑使用延迟加载或者动态加载,如果是你自己写的,那就需要手工调整函数在最终映像里的位置,需要很多辅助工具进行测试,根据函数的调用频繁程度决定,十分麻烦。如果你确实对这个值很敏感,建议你参看 SetProcessWorkingSetSize 及其相关函数的文档,并到 MSDN 上去搜索相关的文献。