0
我在桌面WPF應用程序中使用Unity。我有一個ListView與許多項目,我正在使用unitycontainer解決每個ListViewItem每個ViewModel的實例。我意識到那些用容器解決的視圖模型永遠不會被垃圾收集,這是內存泄漏。這種情況下的做法是什麼?我應該手動構建這些視圖模型列表還是Unity爲此提供解決方案?Unity和解決許多小對象
我在桌面WPF應用程序中使用Unity。我有一個ListView與許多項目,我正在使用unitycontainer解決每個ListViewItem每個ViewModel的實例。我意識到那些用容器解決的視圖模型永遠不會被垃圾收集,這是內存泄漏。這種情況下的做法是什麼?我應該手動構建這些視圖模型列表還是Unity爲此提供解決方案?Unity和解決許多小對象
如果要控制創建對象的生命週期,只需將它們註冊爲ExternallyControlledLifetimeManager
即可。這將告訴Unity,一旦它創建了一個對象,它不負責保持對象的活性或任何東西,所以一旦沒有對對象進行引用,GC就會最終收集它。
That documentation不再更新,但關於LifetimeManager的信息仍然相關。
注意:我不確定我是否有團結實例化大量微小對象,但由於信息太少,我無法提供超出該答案的建議。