delphi - 什么取代了已弃用的 AllocMemSize

标签 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 的替代品是什么?有什么意义吗?我可以在那里采取其他更有意义的措施吗?

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

最佳答案

调用GetMemoryManagerState反而。它返回类似的信息,尽管不一定会分解为像 AllocMemSize 这样的单个数字。弃用的原因是 Delphi 在 Delphi 2006 左右改用 FastMM 作为内存管理器,并且它跟踪内存的方式与旧的内存管理器不同。

另请参阅Monitoring memory usage在文档中。

关于delphi - 什么取代了已弃用的 AllocMemSize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15573010/

相关文章:

c++ - 缩放后重新定位矩形

delphi - TabControl - 如何强制事件 OnGetImageIndex

java - 通过java程序读取大型输入文件(10gb)

Delphi - 如何在 TStringGrid 中设置垂直滚动条,始终可见

delphi - 如何对 Delphi/C++Builder 中的设计时包进行故障排除?

c - realloc 但只有前几个字节是有意义的

ios - NSDictionary 释放触发 valueForKey 返回值释放

c++ - 为什么 std::runtime_error 的 c'tor 需要对 std::string 的常量引用?

grails - 限制高内存使用情况Process.waitForProcessOutput

delphi - 如何查看OutputDebugString的输出?