在Delphi Firemonkey多设备项目中释放单元中对象的最佳方法

在Delphi Firemonkey多设备项目中释放单元中对象的最佳方法,delphi,memory,memory-leaks,firemonkey,delphi-10-seattle,Delphi,Memory,Memory Leaks,Firemonkey,Delphi 10 Seattle,在Delphi中,以单位从内存中释放对象的最佳/最安全的方法是什么 Firemonkey多设备项目 我应该使用以下哪一项或其他东西 FreeAndNil(对象) 对象自由 对象:=零 对象。处置 对象:=零 或者是带有“FreeInstance”或“CleanupInstance”的东西 顺便说一句,我知道对于表单,最好的方法是使用“OnClose”事件,然后调用: Action := TCloseAction.caFree; 我只想知道如何为我自己的对象类释放内存。obj.Release用于

在Delphi中,以单位从内存中释放对象的最佳/最安全的方法是什么 Firemonkey多设备项目

我应该使用以下哪一项或其他东西

  • FreeAndNil(对象)
  • 对象自由
    对象:=零
  • 对象。处置
    对象:=零 或者是带有“FreeInstance”或“CleanupInstance”的东西

    顺便说一句,我知道对于表单,最好的方法是使用“OnClose”事件,然后调用:

    Action := TCloseAction.caFree;
    

    我只想知道如何为我自己的对象类释放内存。

    obj.Release
    用于可视对象。对于其他人,请使用第一种或第二种方法,因为由于电弧的原因,DisposeOf不安全。我找不到“规范”的答案,但我知道,它存在于@kami中的文档中:“DisposeOf因ARC而不安全”——这是误导性的
    DisposeOf()
    由于ARC而存在,并且工作正常。要正确/有效地使用它,您只需了解它是如何工作的。就t组件子体而言,您应该使用DisposeOf-请参阅@kami:No,僵尸对象状态不一定是坏的。很明显,您不了解主题或ARC的工作原理。你应该仔细阅读我发布的链接。ARC是数十年来Delphi和COM中接口的工作方式。它还广泛用于.NET framework。
    obj.Release
    用于可视对象。对于其他人,请使用第一种或第二种方法,因为由于电弧的原因,DisposeOf不安全。我找不到“规范”的答案,但我知道,它存在于@kami中的文档中:“DisposeOf因ARC而不安全”——这是误导性的
    DisposeOf()
    由于ARC而存在,并且工作正常。要正确/有效地使用它,您只需了解它是如何工作的。就t组件子体而言,您应该使用DisposeOf-请参阅@kami:No,僵尸对象状态不一定是坏的。很明显,您不了解主题或ARC的工作原理。你应该仔细阅读我发布的链接。ARC是数十年来Delphi和COM中接口的工作方式。它还广泛用于.NET framework中。