我有一個人口稠密的arraylist,我想清除和重用。如果我清除它將釋放以前使用的內存?.net不會ArrayList.Clear釋放內存?
我還應該提到,arraylist是一個類的私人只讀字段,在我第一次使用arraylist之後,仍然有很多活躍的工作要做。所以我不能等到課程結束之後垃圾回收。
清除方法是否足夠快?或者我應該銷燬並創建一個新的數組列表?
問題更新:
如果我有場聲明如下(感謝Jon的建議)
/// <summary>
/// Collection of tasks.
/// </summary>
private List<Task> tasks = new List<Task>();
然後我來填充它......(重)現在
如果代替清理它和修剪,我可以撥打:
tasks = new List<Task>();
這會被推薦?
對喬恩來說+1是真的。但是,Clear無論如何都不會真的釋放內存 - 只有垃圾收集器纔會這樣做。 正確編寫的IDisposable對象在Dispose的實現中也釋放非託管內存 - 如果適用的話。 也許我只是迂腐:) – 2010-01-13 22:15:42
好點安德拉斯,但我認爲它足以讓那個mem準備好垃圾收集。 – 2010-01-13 22:33:55