2011-01-11 83 views
0

我有這個可怕的問題,我有一個樹形視圖,我使用它的Items.Filter來支持搜索選項。TreeView.Items.Filter內存泄漏,幫助!

我的TreeView也是虛擬化cuase它包含項目的音調,如果沒有虛擬化,它需要一分鐘的UI加載。

我的問題是,每當我設置一個過濾器,似乎內存使用增長20M!

  1. 我不明白爲什麼ListBox中不會使用它已經擁有的項目,爲什麼它需要創建新的項目(我看到孩子項目的構造函數的調用)
  2. 憑啥不會它從內存中釋放舊的UI元素?!

請幫助!!! Gili

回答

0

您確定舊版UI元素沒有發佈嗎? 嘗試調用GC.Collect();看看你是否放棄了這20M,這不算是一件好事,但它會驗證UI元素是否被釋放。

並且每次設置過濾器或第一次時它會增加20M嗎?

+0

是的,它每次增長20M,我已經嘗試GC.Collect ... – Gilad 2011-01-11 16:00:31