打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
利用Delphi释放所占的内存

利用Delphi释放所占的内存

时间:2011-5-26来源:yang 作者: peng点击: 26次

如何利用Delphi释放所占的内存
有人写了一个清内存的bpl插件,据他讲用了以后Delphi2005只占3、4兆内存,多次编译后占用内存不会递增,其实这个bpl只有一个pas文件,这个文件里主要的就是一个函数,如有兴趣你看看:
{
2004.11.30
wr960204 武稀松(王锐)
}
unit UnitMMSave;

interface

uses
Classes, Windows, SysUtils, StrUtils, ExtCtrls, Forms,
Dialogs;

implementation

const
Frequency = 5000;//每隔五秒钟整理一次内存,速度很快的 :)
var
TimerID: Integer;
InProc: Boolean;

procedure SaveMemory;
begin
if Win32Platform = VER_PLATFORM_WIN32_NT then
begin //整理内存
SetProcessWorkingSetSize(GetCurrentProcess, $FFFFFFFF, $FFFFFFFF);
end;
end;

//定时器要执行的回调函数
procedure HearBeatProc(Wnd: HWnd; Msg, Event, dwTime: Integer); stdcall;
begin
if (InProc = False) then
begin
InProc := True;
try
SaveMemory;
finally
InProc := False;
end;
end;
end;

initialization
SetTimer(0, 0, Frequency, @HearBeatProc); //创建一个定时器
finalization
KillTimer(0, TimerID);
end.
 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
delphi TTreeNode.data
delphi未来之路
Delphi中释放介绍
Delphi 快速检测是否联网
获取程序参数的例子(DELPHI)
Delphi 中if else 的用法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服