什么取代了弃用的AllocMemSize

Nic*_*ges 6 delphi memory-management

我正在维护遗留应用程序,我有以下代码行:

sb.Panels[3].Text:= ' Memory in use: ' +  IntToStr(AllocMemSize);
Run Code Online (Sandbox Code Playgroud)

它给出了以下警告:

[dcc32 Warning] BLOB.pas(8242): W1000 Symbol 'AllocMemSize' is deprecated
Run Code Online (Sandbox Code Playgroud)

实际上,不推荐使用AllocMemSize(来自System.pas):

var
  AllocMemSize: Integer deprecated; {Unsupported}
Run Code Online (Sandbox Code Playgroud)

我的问题是:什么是替代品AllocMemSize?有什么意义吗?还有其他一些更有意义的措施吗?

(我想我可以完全删除调用和输出,但用户显然希望在状态栏中看到此信息)

Rob*_*edy 9

打电话GetMemoryManagerState来.它返回类似的信息,但不一定要提炼成单个数字AllocMemSize.这种弃用是由于Delphi在Delphi 2006中转换为使用FastMM作为内存管理器,并且它跟旧内存管理器的内存跟踪方式不同.

另请参阅文档中的监视内存使用情况.