c# 基于arcgis engine 开发程序——将飞机动态显示在地图上,内存溢出问题之解决
时间:2011-04-01 来源:罗布泊
需求是对飞行中的飞机进行实时监控,飞机转向,地图上也显示出来。
网上找到了示例代码,但是飞机头是不转向的。只好在每次重绘时,新建立一个graphics
m_planeGlyph = dynamicGlyphFactory.CreateDynamicGlyph(m_planeSymbol);
m_planeSymbol就是飞机,每次飞机转向,都要 new 一个。
出现的问题就是:内存使用量就像房价一样,不停的上涨,最后死机。
使用显示COM内存释放,也不行。ESRI.ArcGIS.ADF.ComReleaser.ReleaseCOMObject(m_planeGlyph as object)无效,内存还是涨。
最后无意中,发现了一个方法, dynamicGlyphFactory.DeleteDynamicGlyph(m_planeGlyph);
然后,问题居然解决了!
教训:还是应该多看看SDK的文档说明,做了半天无用功。
希望给和我遇到同样问题的人,提供一个参考,别犯我这样的错误。
相关阅读 更多 +
排行榜 更多 +