c#winform 程序 子窗体关闭时, 如何释放窗体所占用的内存。急

ibo500 2008-11-04 04:03:40
c# winform 程序 子窗体关闭时, 如何释放窗体所占用的内存。
form.close();
后,内存,并没有释放啊。
一个程序,随着窗体的一直打开,关闭,内存占用量很大啊
急 如何解决啊

...全文
2166 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
feisng000 2009-05-20
  • 打赏
  • 举报
回复
我已经找到解决办法了!子窗体关闭,自动会释放进程所占用的内存资源,
而且只要在主窗体加入MainForm_MdiChildActivate(object sender, EventArgs e)事件即可!
需要的朋友加QQ群:70790810
feisng000 2009-05-20
  • 打赏
  • 举报
回复
我已经找到解决办法了!子窗体关闭,自动会释放进程所占用的内存资源,而且只要在主窗体加入 private void MainForm_MdiChildActivate(object sender, EventArgs e)事件即可!
haiyangcehui 2021-07-04
  • 举报
回复
@feisng000 请问,在这个事件里面添加什么代码可以回收呢?
ibo500 2008-11-07
  • 打赏
  • 举报
回复
以上答案 都不能解决我偶的问题
但 还是谢谢 各位了 。
分少 请不要介意。
我给出我偶的方法。希望对 人 有点启发
[DllImport("kernel32.dll")]
private static extern bool SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);
private static void FlushMemory()
{
GC.Collect();
GC.WaitForPendingFinalizers();
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1);
//System.Diagnostics.Process.GetCurrentProcess().MinWorkingSet = new System.IntPtr(5);
}
yilanwuyu123 2008-11-04
  • 打赏
  • 举报
回复
override dispose
hangang7403 2008-11-04
  • 打赏
  • 举报
回复
什么窗体会占用这么大内存
ibo500 2008-11-04
  • 打赏
  • 举报
回复
GC.SuppressFinalize(this); 请求系统不要调用指定对象的终结器。

然后我又调用了
GC.ReRegisterForFinalize(this); 请求系统调用指定对象的终结器,此前已为该对象调用 SuppressFinalize

在 form关闭事件里 写的 还是不能是否该窗体所占用的内存。

后来,我又把 GC.SuppressFinalize(this); 放到窗体初始化里面
在窗体关闭时 调用 GC.ReRegisterForFinalize(this); 还是不能释放 内存,

但我发现 在程序最小化时,可以是否内存。
不知道 程序是调用什么东西释放的内存。

还是 很谢谢你的回答。
magicmaster 2008-11-04
  • 打赏
  • 举报
回复
GC.SuppressFinalize(this)也不会马上回收,但会在近期回收
ysj52zqq 2008-11-04
  • 打赏
  • 举报
回复
你可以试一下使用这样的函数

public void Dispose()
{
/*对窗体控件进行 *.close(); 操作
GC.SuppressFinalize(this);
}

这函数运行于你的Form2关闭的时候, 作用是要Form2不进入垃圾回收! 直接释放其空间!

希望能帮到你!
ibo500 2008-11-04
  • 打赏
  • 举报
回复
form.dispose();
也不行,试过了
谢谢你的回复。
nsource 2008-11-04
  • 打赏
  • 举报
回复
this.dispose()
techsky 2008-11-04
  • 打赏
  • 举报
回复
[code=c#]
form.dispose()
[/code]

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧