如果创建了TObject,则必须在最后销毁它.在开发过程中,它发生在我身上,运行的应用程序在短时间内反应缓慢,我注意到,它耗尽了大量的内存.我在里面看到了它__CODE__.
我做了一些改变,但我仍然看到渐进的内存消耗.该应用程序在内存中有大约22000 Kb,并且在重复重绘之后,涉及创建和销毁对象,它上升到33000.
所以我的问题是,如果这是一个明确的标志,那么代码中的某个地方我没有正确地释放对象.还是有其他原因导致内存泄漏?是否有方法可以轻松调试此问题?
我总是非常注意以正确的方式创建和销毁对象,所以我没有看到明显的失败.它让我疯了......
感谢名单.
通过将其添加到项目源代码,可以在调试模式下关闭时报告内存泄漏:
{$WARN SYMBOL_PLATFORM OFF}
ReportMemoryLeaksOnShutdown := DebugHook <> 0;
Run Code Online (Sandbox Code Playgroud)
转到项目>查看源以查找此内容并将上面的行放在Application.Initialize之前.它应该看起来像这样:
begin
{$WARN SYMBOL_PLATFORM OFF}
ReportMemoryLeaksOnShutdown := DebugHook <> 0;
{$WARN SYMBOL_PLATFORM ON}
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TfrmMain, frmMain);
Application.Run;
end.
Run Code Online (Sandbox Code Playgroud)