填充许多元素时,SWT TreeViewer很慢

Dan*_*lba 2 java eclipse swt eclipse-plugin eclipse-rcp

我是java世界的新手,所以如果我的问题很简单,我很抱歉.

我正在开发一个Eclipse视图部分,我正在使用以下数据结构填充SWT树视图.所有数据都在内存中:

Node1
   Child1
   Child2
Node2
   Child1
   ...
   Child2915
Run Code Online (Sandbox Code Playgroud)

我认为这不是一棵非常大的树,但画得很慢(10秒).我在.NET中管理了超过10.000个元素的树,并且它可以顺利加载.我不知道我是否实现了代码,但如果我没有调用,那么.NET中会出现同样的问题BeginUpdate() - EndUpdate().

我必须在Java/SWT中调用类似的东西吗?关于树为什么这么慢的任何其他提示?

小智 5

您可以SWT.VIRTUAL在创建树时使用该标志来帮助提高性能

有关更多信息,请参阅有关虚拟树和表的文章

这也可以与JFace TreeViewer结合使用.有关更多详细信息,请参阅JFace TreeViewer上的这篇文章(尽管这没有特别提及虚拟标志)