c# 中内存释放的问题----在线等,高手来 在MDI窗体中每添加一个子窗体就增加内存,关闭子窗体,内存并不减少,我想关闭子窗体,立刻释放该窗体占用的内存,高手教教,谢谢 (我让子窗体=null,再调用GC.Collect()也是不管用) 我看内存是在资源管理器里看。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不要用form.close()方法。用form.dispose();"我让子窗体=null,再调用GC.Collect()也是不管用"如果是非托管资源,GC.Collect()是没有用的,GC只能回收托管资源。 试过了form.dispose()方法,不管用,form窗体时托管资源还是非托管资源呢 .net是托管的。无论你如何GC,怎么Dispose,该回收的东西,都是收CLR进行的。.net里提供的GC并不能如C++那样能起到实质的作用。建议:所有对象在使用之后,及时Dispose。内存在使用达到一定程度后,CLR会自动帮你回收。 另外,关注一下在窗体内是否使用到了其他的非托管资源,如调用COM、非托管动态库等如果有,请在Form Close之前,释放之 托管内存的释放,设为null之后,两次调用GC试试 System.Diagnostics.Process.GetCurrentProcess().MinWorkingSet lz试试 一般连续调用两次GC.Collect()就可以释放了,如果还不行,那就是你内存泄漏了。 大家现在用vs2008还是vs2010,具体哪个版本? pictureBox图片问题 EasyHook中的问题 如何用JS提取Word中的图片 c#阿拉伯数字转汉字问题 webclient.uploadfile上传文件问题!! 急需找一个.NET C# 开发的兼职人员 求C#简体中文的下载地址! 如何设置DataGrid控件中的日期显示的格式: 2004-1-1 12:00:00 -> 2004-1-1 求C#打印技术! 这里哪错了 time out
用form.dispose();"我让子窗体=null,再调用GC.Collect()也是不管用"
如果是非托管资源,GC.Collect()是没有用的,GC只能回收托管资源。
试过了form.dispose()方法,不管用,form窗体时托管资源还是非托管资源呢
建议:
所有对象在使用之后,及时Dispose。内存在使用达到一定程度后,CLR会自动帮你回收。