【发布时间】:2009-07-10 14:15:53
【问题描述】:
我正在尝试解决我的应用程序中的内存泄漏问题。我已经下载并运行了 RedGate 的 ANTS Memory Profiler 5.0,内存分析器告诉我泄漏与 WeakReferences 有关。
我遇到的问题是我从未听说过 WeakReference,也没有在我的应用程序中明确声明它们。从我所做的阅读来看,我相信当你有一个试图被破坏但不能因为太多其他对象继续引用它的对象/资源时,会创建弱引用。我假设一个文件不能被删除,因为它仍在使用中。
所以我的问题是如何确定这些弱引用的来源?我怀疑这可能是使用 ByRef?另一位同事建议使用哈希表。
希望对弱参考检测和消除有一些澄清,对我的怀疑有一些澄清。
谢谢。
【问题讨论】:
-
我感觉到你的痛苦,先生。我们争先恐后地构建了一个大型应用程序并将其推出,只是被告知它很慢,在使用一天的大部分时间后崩溃,并且会烧毁内存。从那时起,我们就一直在为这些我们认为 .NET 不允许发生的泄漏而进行无休止的战斗。
标签: .net weak-references