WPF窗体内存释放问题

Oskar_Sun 2017-05-12 11:30:02
namespace 窗体内存释放测试
{
public partial class Form1 : Form
{
private static Form a = new Form();
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
a.Show();
}
}
}

我再form1中点击button1,每点一次程序占用的内存都会增加一点,请问是为什么呢?我只new了一次啊
...全文
534 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
夏天的枫 2017-05-12
  • 打赏
  • 举报
回复
private static Form a; if(a==null) a=new From(); a.show(); 参照单例模式。
Oskar_Sun 2017-05-12
  • 打赏
  • 举报
回复
引用 1 楼 shoppo0505 的回复:
试试这种方法: private void button1_Click(object sender, EventArgs e) { using (Form a = new Form()) { a.Show(); } }
不行诶,new的Form a一闪而过。。。
shoppo0505 2017-05-12
  • 打赏
  • 举报
回复
试试这种方法: private void button1_Click(object sender, EventArgs e) { using (Form a = new Form()) { a.Show(); } }
ilikeff8 2017-05-12
  • 打赏
  • 举报
回复
内存托管自动处理不用过于在意,只要不是很明显的你自己造成的内存泄露,要么你强行回收一下 GC.Collect()
  • 打赏
  • 举报
回复
这明明是Winform的,而非WPF。
绿领巾童鞋 2017-05-12
  • 打赏
  • 举报
回复
你程序等一会,内存又压下去了~
绿领巾童鞋 2017-05-12
  • 打赏
  • 举报
回复
你确定 一定是 由于 a 增加 内存的?
Oskar_Sun 2017-05-12
  • 打赏
  • 举报
回复
引用 3 楼 hjq624779687 的回复:
private static Form a; if(a==null) a=new From(); a.show(); 参照单例模式。
用了这种方式,占用的内存还是会持续增加

111,095

社区成员

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

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

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