我有一个包含以下字段的表单:
List<String^> ^images;
PictureBox ^box;.
List<PictureBox^> ^boxes;
String ^path;
(以及一些注明)。
我使用gcnew
为每个内容分配内存,但是当我关闭表单时,内存不会被释放。我以为他们会被垃圾收集;他们为什么不呢?
我还注意到了析构函数中components
d类型的Container ^
自动生成delete
变量。怎么了?
答案 0 :(得分:1)
垃圾收集是不确定的;你无法预测它何时会运行。所有这一切都得到保证,它将“在需要时”运行;如果完全需要控制它何时发生,那么你可以调用:
GC.Collect();
和
GC.WaitForPendingFinalizers();