什么取代了弃用的AllocMemSize

时间:2013-03-22 14:35:59

标签: delphi memory-management

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

sb.Panels[3].Text:= ' Memory in use: ' +  IntToStr(AllocMemSize);

它发出以下警告:

[dcc32 Warning] BLOB.pas(8242): W1000 Symbol 'AllocMemSize' is deprecated

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

var
  AllocMemSize: Integer deprecated; {Unsupported}

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

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

1 个答案:

答案 0 :(得分:9)

请致电GetMemoryManagerState。它返回类似的信息,但不一定要提取为AllocMemSize这样的单个数字。这种弃用是由于Delphi在Delphi 2006中转换为使用FastMM作为内存管理器,并且跟踪内存与旧内存管理器的不同。

另见文档中的Monitoring memory usage