【发布时间】:2010-11-19 02:31:25
【问题描述】:
我有一个似乎泄漏内存的 WindowsForms 应用程序,因此我使用 Redgate 的 ANTS Memory Profiler 查看我怀疑的对象,发现它们仅由 Finalizer Queue 上的对象持有。太好了,究竟什么是终结器队列?你能指出我最好的定义吗?你能分享一些轶事建议吗?
此外,Finalizer Queue 上的所有根 GC 对象都是名为“caller”的 System.Windows.Forms.Control+ThreadMethodEntry 对象的实例。我看到它涉及到多线程UI交互,但除此之外我知道的不多。原谅我明显的懒惰和承认的无知,但这些资源都埋在供应商的组件中。我正在与供应商讨论这些问题,但我需要一些指导来加快对话速度。你能指出我对 ThreadMethodEntry 最有用的定义吗?有什么轶事建议吗?
另外,我是否应该关心终结器队列中的这些对象?
更新:这个Red Gate article 很有帮助。
【问题讨论】:
标签: .net winforms memory-leaks finalizer redgate