现在的位置: 首页 > 综合 > 正文

关于GEF应该注意的一些习惯!

2012年12月06日 ⁄ 综合 ⁄ 共 873字 ⁄ 字号 评论关闭

因为GEF是一种图形编辑框架,所以,你涉及到的关于修改模型或者是选中某个东西,他都会去通知界面做相应的刷新处理,所以我们应尽量减少它通知的次数,如果能够一次搞定那我们为什么要不停的通知呢?

如这段代码:

发现问题了么?如果你的currentSelectParts为n的话,这里刷新的次数就是n,但是有这个必要么?答案是否定的,只要最后一次刷新(即:所有的对象添加后在通知界面刷新)

所以,下面这段代码大大的减少了刷新的次数,使刷新次数降为1次:

 

大家可别小看这样的习惯哦!我在做项目的时候,为了进行系统效率优化找到了这个代码!因为GEF的选择改变不仅仅是刷新自己,而且还刷新了所有与他相关的视图、还有outline或者自定义的一些东西等等,所有做了这样的修改以后效率提高了不仅仅是一倍哦,我有一次重选了100多个EditPart,按照原来的方式,整个产品基本上就废掉了,要等将近1分多钟,现在么,不用说了,嘿嘿!你都感觉不到它刷新过了!(按照理论的结果他可是将效率提高了100倍多哦)所以在写程序的时候大家应该尽量的想清楚代码的效率问题(尽管有时候是按照自己的习惯写的),就是这样几行不起眼的代码,在我们的产品中存在了至少有1年多了,大家都没在意过,知道有一次我测试我自己做的一个Feature的时候才将这几行代码挖出来.

 

更多精彩:http://www.eclipselight.org/rcp/193/

抱歉!评论已关闭.