0

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

每次我执行这个动作,都需要比以前更长的时间。

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

这是输出中的一个样本。

展开全部时间:200 展开全部时间:800 展开全部时间:1800 展开全部时间:3200

-- 这大大减慢了我的插件。这是方法的问题吗?

4

1 回答 1

1

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

于 2012-10-17T14:34:02.937 回答