内存缓步增长?
我编写了一个简单的程序,非常奇怪的是运行之后在任务管理器中看到它占用的内存在缓步增加。
刚开始怀疑是出现了内存泄漏,之后用fastmm和 Eurekalog 进行检查,都没有发现问题.....
后来改写程序,就是在一个窗体上加入一个 timer ,具体代码如下,发现内存也会缓步增长。
恳请高手指点一二,非常感谢!
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function FindProcess: boolean;
begin
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if FindProcess then
begin
end
else
begin
end;
end;
end.
[解决办法]
如果用fastMM检测都没发现有泄漏,那应该没什么问题.内存增涨也不一定就不正常,一般涨到一定程度就不再涨了,或者把窗口最小化一下再看看就降下去了,可能和操作系统有关
[解决办法]
程序没问题,几乎什么也没做
观察了多久?最后上升到多少?
[解决办法]
delphi封装的getdc和release 好像是有bug
以前好像听说过
[解决办法]
内存碎片而已,不用在意,增长到一定程度就不会继续增长了。