H hfutzhu Unregistered / Unconfirmed GUEST, unregistred user! 2008-04-25 #1 为什么我用form.free; form := nil; 这个form窗体的内存好像没释放,从资源管理器里面看没什么变化!应该怎么正确释放呢???
I iamy Unregistered / Unconfirmed GUEST, unregistred user! 2008-04-25 #3 调用一个WindowsAPI 给你给很爽的函数 procedure ReleaseMem; const MinSize = $FFFFFFFF; MaxSize = $FFFFFFFF; begin SetProcessWorkingSetSize(GetCurrentprocess,MinSize,MaxSize); end;
调用一个WindowsAPI 给你给很爽的函数 procedure ReleaseMem; const MinSize = $FFFFFFFF; MaxSize = $FFFFFFFF; begin SetProcessWorkingSetSize(GetCurrentprocess,MinSize,MaxSize); end;
B bjaman Unregistered / Unconfirmed GUEST, unregistred user! 2008-04-25 #5 procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end;
S sunnyfairy Unregistered / Unconfirmed GUEST, unregistred user! 2008-04-25 #6 SetProcessWorkingSetSize(GetCurrentprocess,MinSize,MaxSize); 尽量不要用这个函数,尽量它很牛.
H hfutzhu Unregistered / Unconfirmed GUEST, unregistred user! 2008-04-26 #7 Action := caFree;我也用过啊, free后从资源管理器里看,比没有创建窗体的时候内存使用的要大,不知道是什么原因阿??
W wangpinggang Unregistered / Unconfirmed GUEST, unregistred user! 2008-05-14 #9 用D2007编一程序,主要完成定时读文件,写Sql库,用多线程方式5秒执行一次,有对象的 Create,但立即FreeAndNil 运行两天后,从任务管理器中发现 PF为1.2G 页面错误为8,323,281 内存6,260k 虚拟内存10,984k 我原本以为有对象没有free完(我敢保证,不可能),又创建了一个程序试验(只有一个默认Form1),运行后发现 页面错误为1,003 过一会发现为1,437 上网搜索delphi的free并没有真正释放???。 难道真是Delphi的内存管理??? 望各位大哥帮忙!!!
用D2007编一程序,主要完成定时读文件,写Sql库,用多线程方式5秒执行一次,有对象的 Create,但立即FreeAndNil 运行两天后,从任务管理器中发现 PF为1.2G 页面错误为8,323,281 内存6,260k 虚拟内存10,984k 我原本以为有对象没有free完(我敢保证,不可能),又创建了一个程序试验(只有一个默认Form1),运行后发现 页面错误为1,003 过一会发现为1,437 上网搜索delphi的free并没有真正释放???。 难道真是Delphi的内存管理??? 望各位大哥帮忙!!!
H hs-kill Unregistered / Unconfirmed GUEST, unregistred user! 2008-05-14 #10 就是delphi的内存管理,防止频繁的向系统申请内存 VC好像也有这样的机制啊..