在一个程序中,什么都不做。就一个Timer控键,internal设置为很小。比如为1;
再ontimer里面什么也可都不做。
timer.ontimer
begin
//
end;
一运行就让timer.enable := true;或者通过什么事情触发也可以,
这时候,你通过任务管理器的内存使用情况观察一下这个程序的内存,
好像是一直递增的。
这是为什么,有什么办法可以解决这个程序内存递增的现象?
大家来讨论一下这是为什么。

解决方案 »

  1.   

    可能消息队列扩大了吧。Timer依靠消息来定时,来不及处理,消息队列可能充满了,可能系统扩大了消息队列吧
      

  2.   

    >>Timer依靠消息来定时,来不及处理,消息队列可能充满了
    但就我所知, 在消息隊列中, 只有一個 WC_TIMER 存在啊!!
      

  3.   

    我覺得樓主說得不大可能, 因為, delphi的智能編繹技術, 如果你 ontimer 里都沒代碼, 可能邊ontimer 都不會發生!在我的系統 win2k + d7, 我如上試了下, 什麼都沒增加!
      

  4.   

    我用的是xp+dp6也没有内存增长的现象呀.
      

  5.   

    我试了,Win2k+delphi6没有你说的问题啊
      

  6.   

    我也试过了,win2k+delphi7,内存是在增加!
    有什么解决方法没有?
      

  7.   

    有解决内存增加的办法,就是Close;
      

  8.   

    什么意思?Timer没有close方法阿!
      

  9.   

    你在ontimer里到底写什么了?
    我的如果什么也不写的话,delphi会自动去掉这一块
      

  10.   

    ontimer里调用了两个个无任何操作,直接返回值的函数;
    win2k professioner+D7,是不是和操作系统有关?