我有 ArcGIS Runtime for WPF 的应用程序。我对 GraphicsLayer 中的对象使用 Clusterer,我正在尝试 FlareClusterer 和 CustomClusterer。每次集群器重建都会增加使用的 RAM。
我尝试过调用:
GC.Collect();
GC.WaitForPendingFinalizers();
但这没有帮助。
有谁知道这个问题的解决方案吗?
附注抱歉我的英语不好。
最佳答案
如果无法收集对象,
GC.Collect();
将无济于事。我建议分析您的应用程序。使用ANTS,免费2周。它会向你展示僵尸剩余的元素。
快速检查是检查您的代码并查找所有事件订阅。每个 += 都应该有 -= (除非它是在同一位置工作的匿名 lambda)确保在释放对象之前取消订阅。这是一个常见的错误,尤其是在清除集合时(集合已清除,但它曾经拥有的对象将保留。
还有很多其他的东西,但我认为 ANTS 是第一个快速且简单的测试。
关于wpf - wpf 的 Arcgis 运行时 - 集群器内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13044362/