关注此问题我最近问:Understanding Document.createElement()GWT操纵DOM元素告诫
这里是上下文:
- 有一个文本区在我的GWT GUI持有文本
- 用户可以在此文本区域中选择一个单词(或一系列单词),并将其转换为
highlighted text
highlighted texts
需要能够倾听用户:单击,右键单击,在文本区域拖动&下降操作- 方案,其中包含1000
highlighted text
也不是不可能。
我想知道:
- 它是一个不错的办法来操纵直接在GWT DOM元素? (不使用小工具)
- 难道不这样做吗Add listener to SpanElement?它会导致内存泄漏吗?
- 实现这些目标的最佳方法是什么?我使用一个简单的自定义小部件进行了一些测试,该小部件使用了span元素,并且在RootPanel中添加1000个小部件在DevMode中大约需要6到10秒。当我使用DOM元素direclty时,此操作持续时间低于1秒(优化时甚至小于200毫秒)。
编辑
性能不应该是一个问题,据我@Gilberto意见后做了一些真正的考验。 http://jmichelgarciagwt.appspot.com/DOMTesting.html
不过,我很想有问题1)和2)
您不应该使用DevMode来衡量性能。在进行任何基准测试之前,将您的代码编译为最终的JavaScript。 –