我正在维护遗留应用程序,我有以下代码行:
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的替代品是什么?有什么意义吗?还有其他一些更有意义的措施吗?
解决方法
请拨打
GetMemoryManagerState
.它返回类似的信息,但不一定要提炼为像AllocMemSize这样的单个数字.这种弃用是由于Delphi在Delphi 2006中转换为使用FastMM作为内存管理器,并且它跟旧内存管理器的内存跟踪方式不同.
另见文档中的Monitoring memory usage.