2017-06-19 25 views
0

我在桌面WPF應用程序中使用Unity。我有一個ListView與許多項目,我正在使用unitycontainer解決每個ListViewItem每個ViewModel的實例。我意識到那些用容器解決的視圖模型永遠不會被垃圾收集,這是內存泄漏。這種情況下的做法是什麼?我應該手動構建這些視圖模型列表還是Unity爲此提供解決方案?Unity和解決許多小對象

回答

0

如果要控制創建對象的生命週期,只需將它們註冊爲ExternallyControlledLifetimeManager即可。這將告訴Unity,一旦它創建了一個對象,它不負責保持對象的活性或任何東西,所以一旦沒有對對象進行引用,GC就會最終收集它。

That documentation不再更新,但關於LifetimeManager的信息仍然相關。

注意:我不確定我是否有團結實例化大量微小對象,但由於信息太少,我無法提供超出該答案的建議。