Delphi中垃圾收集的第三方解决方案

Vib*_*nRC 4 delphi garbage-collection memory-management

是否有任何第三方解决方案,VCL,插件等在Delphi中为win32进行自动垃圾收集

Arn*_*hez 11

您可以使用接口来执行此类垃圾回收.

如果你使用接口而不是类,你不必放置一个显式的try ... finally块,并调用finally部分中的free方法.编译器将为您生成它,就像使用常规字符串方法一样.

您可以将此技巧扩展到每个对象,代码类似于http://edn.embarcadero.com/article/28217中发布的代码

但这不会是一个完整的垃圾收集器,就像在java或DotNet中一样.它只是引用计数.

恕我直言全垃圾收集器是邪恶的.在Delphi中管理内存并不困难.你会输入更多,但在所有情况下,没有垃圾收集器,性能和全局内存的完善会更好.

  • 注意带接口的循环引用,这会阻止RefCount减少到0并且你会泄漏内存. (3认同)