dotSpatial MapLineLayer内存泄漏



我正在使用dotSpatials Map对象对形状文件进行一些操作。当我使用下面的代码添加一个图层(MapLineLayer)时,我的程序消耗了内存,当我完成这个图层时,我想要回我的内存。我无法处理我的Map对象和它的图层。

        Map map = new Map {Projection = ProjectionInfo.FromEpsgCode(epsgCode)};
        try
        {
            map.AddLayer(filePath);
        }

如何正确处理dotSpatials Map?

尝试ClearLayers()。如果Map对象没有禁用,仍然导致内存泄漏,这可能是一个bug…话虽如此,请记住,垃圾收集器不会在Map控件超出作用域时立即释放内存。

如果你愿意,你可以执行GC。在完成Map控件后立即收集(用于测试目的的),但没有必要将此代码放入应用程序中,因为垃圾收集器可以正确地管理它。

GC.Collect();
GC.WaitForPendingFinalizers();

最新更新