在我的应用程序中,一个动作是扩展特定树的所有元素。

每次执行此操作时,所需时间都会比以前更长。

long startTime = System.currentTimeMillis();
getTreeViewer().expandAll();
long endTime = System.currentTimeMillis()-startTime;
System.out.println("expandAll time :  " + endTime );


这是输出的样本。

展开所有时间:200
展开所有时间:800
展开所有时间:1800
展开所有时间:3200

-这大大降低了我的插件的速度。这是方法的问题吗?

最佳答案

你有过滤器了吗?过滤器和其他TreeViewer合作者在扩展操作上被调用。还要检查LabelProvider的实现,以查看在为每个新显示的树项目计算文本标签和图像时是否需要花费一些时间。

关于java - TreeViewer.expandAll方法的性能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12936587/

10-09 02:50