你指的业务办完, 是指当前UserControl,不在被引用了吗? 如果界面还存在,那么GC怎么回收呢
引用 8 楼 exception92 的回复:重新初始化控件。重新new了,但是之前释放的资源并没有回收,也不知道GC什么时候回收,导致程序内存越来越多。
重新初始化控件。
.Net 为了提升性能,可能占用相当多的内存资源,当内存占用太多之后会自动进行垃圾收集。之所以没有释放资源,原因有二: 1、内存还没有占用到 .Net 认为需要清理的程度(如系统有8G内存,该程序使用了4G) 2、程序需要使用大量资源,不能释放,否则程序逻辑会出错(如创建了太多的对象)
控件 Dispose 时 .Net 不会回收资源,而是由垃圾收集器来智能处理。 你可以执行 GC.Collect() 方法强制回收资源。
111,094
社区成员
642,554
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧