Arcgis Engine开发在Scenecontrol上添加text动态更新时内存不断增长
各位大神:
小弟在用vs2012下C#写基于arcgis 的一个三维应用程序。
需求很简单,需要讲一个人的位置和运行时间计算出来,在scenecontrol上动态显示。
于是我创建了一个graphicslayer,然后定义了一个graphicscontainer = graphicslayer as Igraphicscontainer
于是又创建了一个text3delement,定义了这个text的各种属性,当然也包括一些symbol等等,
最后把这个text3delement给graphicscontainer.addelement(text3delement);
this.axscenecontrol.scene.addlayer(graphicslayer );
然后刷新该图层;
这样添加了一个三维文字,因为秒表要定时刷新,因此我采用了两个办法,一个是定时器,一个是开线程后thread.sleep(1000);
在timer或者thread的响应函数中,分别使用过委托/消息 的办法去刷新text3delement,
当然重要的是,我刷新的办法:将text3delement定义成全局,然后在刷新的这里重新将text3delement的位置和text属性赋值,然后text3delement.update();然后刷新
这时,我的应用程序内存暴涨,好像完全没有释放的意思,但是我想,我在刷新这块应该只是update了一些啊,没有创建什么新的东西啊
后来我测试了一下,如果我改变text3delement的内容少一些,内存增长就少一些,如果不变 ,内存就不涨,即使执行text3delement.update();
那么问题来了,是我不会用这个update呢,还是我应该怎么去主动释放一下内存呢?