背景:我们正在构建一个快速交付 WPF 应用程序的框架。该框架使用 Autofac 作为 IoC 容器,还使用 Prism v1 中的区域。我们正在使用 Microsoft 的并行扩展来安排任务。
我们面临以下问题:当我们用空视图启动应用程序时(所以只是一个带有区域和占位符控件的外壳),内存将保持稳定约 60 秒,之后它将每秒增加 4kb,然后是 4kb ,在那之后的8kb。因此,每 3 秒我们就会增加 16Kb 的内存压力。
我们试图追踪泄漏的原因是什么。我开始使用 dotTrace,但我看不出相隔 30 分钟拍摄的 2 个快照之间有任何区别。继续使用 .NET 内存分析器,因为它为我提供了更多信息,但我们再次看不到 2 个快照之间的任何差异。我们可以看到创建了许多对象,但它们也被删除了,导致 delta 为 0。所以我继续使用 windbg,但结果是一样的。
另一个奇怪的事情是,当我们启动 sysinternals dbgvw 时,我们看不到在我们的应用程序中进行任何调用。
您对我们下一步可能尝试找出什么/谁是罪魁祸首有什么建议吗?