私のasp.netアプリケーション私は "学校"オブジェクトのインスタンスを格納するメモリセッション内のオブジェクトを持って、この学生コレクションは100人の学生がいます。 学生がnull = Students.Clear()を割り当てた場合、Studentsオブジェクトを使用して終了した後。asp.netセッションメモリサイズオブジェクトの一部をクリアした後
私の質問ですが、Studentsオブジェクトが占有していたメモリを解放しますか?それとも、学校オブジェクトがセッションから完全に削除されるのを待つでしょう。学生の100年代と学校のオブジェクトの
合計メモリサイズ:10キロバイト
学校のオブジェクトのサイズを学生オブジェクトを除去した後:シリアライズを経て得られた
サイズ1キロバイト
は、上記の結果が反映されますRAMにも?
public class school
{
public string SchoolName { get; set; }
public string SchoolAddress { get; set; }
public List<student> Students { get; set;}
}
public class student
{
public string Name { get; set; }
}
ガベージコレクタ(GC)を実行すると、管理対象メモリが解放されます。 –
@Mitch Wheat:GC実行時に、クリアされた生徒オブジェクトによって使用されるメモリが解放されます。 – user841683
はい。コレクション内に含まれるオブジェクトへの他の参照がない場合に限ります。 –