在我的应用程序中,一个操作是展开某个树的所有元素。
每次执行此操作时,都会比以前花费更长的时间。
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/