基于MFC的程序,除了用MFC基本外几乎不用,多是自己用c++写的类,程序有界面,单文档应用,基类formview,程序中有五个线程在工作.
    出现问题: 程序运行时,没有人动这个界面,内存将一直增大,最小化程序后,内存马上降下来,这个可是内存泄露? 问题在那里
    线程之间是如何分配cpu资源的,5个线程,除了主线程,其他的线程都是一个死循环操作.    说明:程序在工作过程中使用new 和delete的情况很多.

解决方案 »

  1.   

    看看有没有在循环的过程中用到new的。
      

  2.   

    肯定是用到了 new,但都有相应的delete。  我想如果没有delete的话,但程序最小化的时候内存也不会降下来啊,而且很快内存就会用光。程序处理的数据量比较大。
      

  3.   

    那里有地方找boundercheck这个,或其他检查内存泄露的工具http://community.csdn.net/Expert/topic/3159/3159903.xml?temp=.5441553
      

  4.   

    在無限循環中用過多的new與delete,產生內存碎片的原因?個人覺得new與delete最好不要放在無限循環里﹐放在循環前后不是更好?不知道是否正確.
      

  5.   

    delete不会马上释放内存,它会在系统空闲时间统一去干.
    最小化后不是占用内存少了,是占用物理内存少了,数据都存到页面文件上去了.
      

  6.   

    肯定是在界面上作了很多运算导致cpu没有空闲去释放内存。