我有2 views
A和B,每个都有treeViewer
。
B在listener
A中有一个selectionChanged
到树view
。
所以每次我在A中选择tree
项时,selectionChanged
操作都是:
1- setInput
至tree
B
2-应用过滤器
3-展开所有元素
这里的问题是每次我点击View
A中的树项时,View
B显示树项所花费的时间每次都在增加,以便在树中进行相同的选择A.和项目每次都显示较慢。
selectionChanged
操作的哪一部分可能导致此性能问题!?
经过一些调查后,我发现方法TreeViewer.expandAll()
是导致每次大延迟的方法。
这是Eclipse
问题还是我应该修改它?
答案 0 :(得分:2)
性能错误很难捕获。在执行这些操作时,请尝试查看系统的CPU,磁盘活动和内存使用情况。检查您的代码,看看是否有任何正在构建的集合未正确初始化。
答案 1 :(得分:1)
另外,尝试安装一些分析器,我建议YourKit Profiler它有1个月的试用版,我认为这足以发现你的问题。它有许多很棒的功能,比如与eclipse的集成以及从分析器进入问题所在的位置。当我在努力表现时,帮助了我很多。