delphi实时监视应用程序内存使用量


本文整理自网络,侵删。

 delphi实时监视应用程序内存使用量

当你的产品已经完成了客户的需求功能,你是否已经认为你的产品已经完成了呢?如果你的客户在使用你

的产品一段时间后跑来向你诉苦:“产品用的时间越久,速度就越慢”,那么你就需要注意你的产品是否

存在内存泄露了。想要实时查看你的产品的内存使用量,下面来告诉你一个方法。


//----需要Uses PsAPI单元。---- www.delphitop.com

function GetProcessMemUse(PID: Cardinal): Cardinal;
var
pmc: PPROCESS_MEMORY_COUNTERS; //uses psApi
ProcHandle: HWND;
iSize: DWORD;
begin
Result := 0;
iSize := SizeOf(_PROCESS_MEMORY_COUNTERS);
GetMem(pmc, iSize);
try
pmc^.cb := iSize;
ProcHandle := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ,
False, PID); //由PID取得进程对象的句柄
if GetProcessMemoryInfo(ProcHandle, pmc, iSize) then
Result := pmc^.WorkingSetSize;
finally
FreeMem(pmc);
end;
end;

function GetCurrentMemUse: Cardinal;
begin
Result := GetProcessMemUse(GetCurrentProcessId);
end;

注:GetCurrentProcess返回进程句炳(只在此进程有效)
GetCurrentProcessID返回的进程的唯一标识(整个操作系统有效)

在使用的时候,可以在你的主窗体加一个TStatusbar,放一个TTimer用来实时显示内存使用量:


StatusBar.Panels[2].Text := format('memory use: %d KB', [GetCurrentMemUse div 1024]);//1kb=1024b

把代码放到你的程序里,看看你的代码有没有管理好内存。

相关阅读 >>

Delphi 将文件转换成base64编码

Delphi删除整个目录及目录下的文件

Delphi 传输文件例子的核心代码

Delphi中用tlistview显示数据库数据

Delphi如何粘贴html格式文本到windows剪切板

Delphi xe10 手机程序事件服务操作、退出键操作

Delphi xe android-uri-管理联系人uri

Delphi winapi: gettopwindow - 获取指定窗口的子窗口中最顶层的窗口句柄

Delphi字符串隐藏

Delphi 百度输入提示 Delphi 实现

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...