我使用dotSpatials映射对象对形状文件执行一些操作。当我使用下面的代码添加一个层(MapLineLayer)时,当我的程序耗尽内存时,当我完成这个层时,我想要回我的内存。我无法处理Map对象和它的层。
Map map = new Map {Projection = ProjectionInfo.FromEpsgCode(epsgCode)};
try
{
map.AddLayer(filePath);
}如何正确处理dotSpatials映射?
发布于 2015-07-15 22:21:09
试试ClearLayers()。如果Map对象没有禁用并且仍然导致内存泄漏,那么它可能是一个bug.尽管如此,请记住垃圾收集器不会立即释放内存-- Map控件超出了范围。
如果需要,可以在完成地图控件(出于测试目的的GC.Collect )之后立即执行,但是没有必要将此代码放入应用程序中,因为垃圾收集器对其进行了正确的管理。
GC.Collect();
GC.WaitForPendingFinalizers();https://stackoverflow.com/questions/31430337
复制相似问题