2012-10-16 49 views
0

我有2 views A和B,每個都有一個treeViewer。 B具有listener到樹selectionChangedview A. 所以每次我選擇所述的一個tree項目時,selectionChanged動作是:Eclipse插件性能隨着時間的推移而降低

1- setInputtree

2-申請濾波器

3-展開所有元素

這裏的問題是每次點擊View A中的一個樹項目,所需時間爲View B顯示樹A中每次選擇相同的樹項目時增加,每次項目顯示速度較慢。

selectionChanged操作的哪一部分可能導致此性能問題!

經過一番調查,我發現方法TreeViewer.expandAll()是導致每次大拖延的原因。 這是Eclipse問題還是我應該修改它?

+0

如果您向我們展示了您列出的步驟1-3的代碼,我們可能會發現問題。 – stracka

回答

2

性能錯誤很難被發現。在執行這些操作時,請嘗試監視系統的CPU,磁盤活動和內存使用情況。檢查你的代碼,看看是否有任何正在構建的集合沒有正確初始化。

1

另外,嘗試安裝一些分析器,我會建議YourKit Profiler它有1個月的試用版,這是我認爲將足以發現你的問題。它具有很多強大的功能,例如與eclipse集成並從剖析器進入問題位置。當我在表演中掙扎時,幫助了我很多。

+0

這是第一次嘗試,但沒有幫助 – becks

相關問題