小编Dav*_*ave的帖子

ContextMenuStrip导致内存泄漏

我正在创建许多自定义控件并将它们添加到FlowLayoutPanel.还有一个在设计时创建并填充的ContextMenuStrip.

每次将控件添加到面板时,都会将其ContextMenuStrip属性分配给此菜单,以便所有控件"共享"相同的菜单.但我注意到当从面板中删除控件并将其丢弃时,任务管理器中使用的内存不会丢失.每次创建控件并将其添加到布局面板时,它都会上升大约50kB.

我下载了.NET Memory Profiler的试用版,它显示在控件处理完毕后,有一些菜单条的引用.我更改了代码,在处理控件之前将ContextMenuStrip属性显式设置为null,是的,内存现在已经释放了.为什么是这样?GC不应该清理这种类型的东西吗?

.net c# memory-leaks winforms

9
推荐指数
1
解决办法
2188
查看次数

标签 统计

.net ×1

c# ×1

memory-leaks ×1

winforms ×1