我知道這看起來像是重複的,但我認爲這個具體情況可能有點不同。顯式釋放內存
在我的MVC應用程序中,我有一個ViewModel包含一個大的列表,用於顯示類似於Excel表格的表格。每個MyComplexClass包含一個MyComplexClass列表和一個MyComplexColumn列表。
這使得一個相當大的內存使用情況,但現在我有一個問題。我應該寫一個清理我的大表的方法,並將一組不同的數據加載到它中。我可以寫這樣的:
MyViewModel.Lines = new List<MyComplexClass>();
MyViewModel.LoadNewSetOfData(SetOfData);
但是,從C正在添加背景,明確地失去對舊名單我引用不是我能夠做到的,並繼續在鏡子,每天早上看着我的臉。
我看到Here,Here和Here,我可以設置基準以零,然後調用
GC.Collect()
但有人告訴我,我是不是真的最好的做法,特別是因爲它可能真的會影響性能,因爲我無法知道GC是否已經處理了這種特定的內存分配。
是不是有什麼辦法可以讓我打電話像Free()這樣的東西而活下去?
謝謝
只要活下去,讓GC開展工作。 –
*「這會造成相當大的內存使用量」* - 那麼您是否真的內存不足或只是擔心?如果第二種選擇 - 只是不認真對待,GC在大多數情況下都會很好地工作。 –
是的,GC比你的工作更好,對於沒有明確釋放記憶的人來說,絕不會感到羞恥。 – Master117