|
分類:[.NET 全般]
VB.NETでバックグラウンドプロセスを使ったプログラムを書いているのですが、
Dim s As Integer = 0 Parallel.For(1, 1001, Sub(i As Integer)
Dim Array(1000, 300, 300) As Single
End Sub)
のように大きな配列を生成した時、 タスクマネージャー上で確認して、 数GB程度のメモリを使用しています。 しかし、その後、 バックグランドプロセスから抜けたにも拘わらず、 このメモリは解放されません。
毎回のループで Array = Nothing を入れてあげるとメモリは解放されます。
Forループの中で宣言された変数なら Forループを抜けた時点で解放されると思うのですが なぜ解放されないのでしょうか?
|