"Application" 是 VCL 的一部分,因此不是线程安全的(可能在维护其拥有的非线程安全组件列表方面存在问题)。
我正在处理的项目中有几个实例将 Application 设置为 Owner,而 Self 不是一个选项(类方法)。我想在这种情况下传递 "nil",因为该变量在函数结束时被释放。
假设有人忘记释放一个由 Application 拥有的变量:
当应用程序关闭时,内存会被释放。但我也读到 Windows 跟踪每个进程分配的内存。因此,理论上,如果一个 nil-owned 变量没有被释放,Windows 将在应用程序/进程终止时释放它。
那么,将所有者设置为 Application 与 Nil 相比有什么好处呢?
以下问题讨论了释放 nil-owned 变量的责任,但仅止于此: