在开发一个程序的时候发现一个问题,当应用程序持续运行的时候,内存也持续增长,可能从10M一直增长到50M。当增长到50M的时候把程序最小化一下,就变成20M,再次增长到50M的时候又最小化了一下,又变成20M。请问这是什么原因,如何通过程序来实现同样的释放效果?

解决方案 »

  1.   

    不一定是内存泄漏,delphi的IDE也会这样,最小化时内存变小,恢复时内存变大。据说是最小化时会将暂时不用的释放掉,等恢复时重新加载,delphi写的程序就是这样效果了。
      

  2.   

    liangqingzhi(老之)说的对,不一定是内存泄漏。我的程序要连续重复运行同一个任务,每次运行都获取一些数据,但是测试中内存的增长远远大于计算值。   经过测试,如果每运行几万次就最小化一次,运行50万次后内存占用仅为60M左右。如果不加干预一直运行50万次,内存就超过200M,而且这时候最小化也没有用处。