C# WinForm new对象释放??

gzqGyula 2014-03-14 09:16:57
程序框架左侧是菜单,右侧显示窗口,点击菜单new对象将Form在右侧panel控件中显示,问题是我点击一次菜单new一次然后在任务管理器中查看内存在增加,点击多次以后程序就断掉,我想问怎么可以释放new对象???还有我程序运行后内存占50M还会慢慢增加怎么进行释放??
...全文
1750 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
OrangeMemoryHJY 2014-03-26
  • 打赏
  • 举报
回复
单例不就行了
天上飞猪 2014-03-26
  • 打赏
  • 举报
回复
调用完之后 this.Dispose(); 回收,现在楼主有什么 好想法 ?
Ioad 2014-03-17
  • 打赏
  • 举报
回复
黑子大哥 2014-03-17
  • 打赏
  • 举报
回复
引用 5 楼 GZQ0821 的回复:
[quote=引用 4 楼 qhttl 的回复:] [quote=引用 2 楼 GZQ0821 的回复:] [quote=引用 1 楼 bdmh 的回复:] 你可以用一个List记录已经打开的窗体,点击时,到List中去找该窗体是否存在,如果存在就直接show,没有在new
List直接new对象Add存放吗?只有Value没有Key那该怎么判断Form是否存在???[/quote] 你也可以使用Typeof(Object).FullName 作为key存储 用字典 C# 有GC 你也可以手动回收[/quote] 我有一个功能就是在当前页面能修改其他页面的数据,如果将new对象存放到List中那前台显示数据不能及时的更新掉???[/quote] 对象是引用类型的,倘若A页面简称FA 、B页面简称FB FA a=new FA(); FB b=new FB(); dic.add(typeof(FB).FullName,a); dic.add(typeof(FB).FullName,b); a.show() 你在A里面写了修改B页面的数据时可以同时更新的,因为你操作还是B窗体,引用类型啊亲
gzqGyula 2014-03-15
  • 打赏
  • 举报
回复
引用 3 楼 weizhengnan168 的回复:
C#有一个自动释放资源的机制!
我是根据串口返回数据判断要执行的方法,每次返回要new对象,内存一直增加,当达到100多M程序就中断了。。。
gzqGyula 2014-03-15
  • 打赏
  • 举报
回复
引用 4 楼 qhttl 的回复:
[quote=引用 2 楼 GZQ0821 的回复:] [quote=引用 1 楼 bdmh 的回复:] 你可以用一个List记录已经打开的窗体,点击时,到List中去找该窗体是否存在,如果存在就直接show,没有在new
List直接new对象Add存放吗?只有Value没有Key那该怎么判断Form是否存在???[/quote] 你也可以使用Typeof(Object).FullName 作为key存储 用字典 C# 有GC 你也可以手动回收[/quote] 我有一个功能就是在当前页面能修改其他页面的数据,如果将new对象存放到List中那前台显示数据不能及时的更新掉???
足球中国 2014-03-15
  • 打赏
  • 举报
回复
gc回收时有一个系统调用图。当一个对象的引用还在别的使用里时。是不会被gc回收的。 多用using这个还是比较好的。
足球中国 2014-03-15
  • 打赏
  • 举报
回复
与窗口绑定的事件可能没有释放。 单纯的窗口new一般不会出现这样的问题。
编写程序人生 2014-03-14
  • 打赏
  • 举报
回复
C#有一个自动释放资源的机制!
gzqGyula 2014-03-14
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
你可以用一个List记录已经打开的窗体,点击时,到List中去找该窗体是否存在,如果存在就直接show,没有在new
List直接new对象Add存放吗?只有Value没有Key那该怎么判断Form是否存在???
bdmh 2014-03-14
  • 打赏
  • 举报
回复
你可以用一个List记录已经打开的窗体,点击时,到List中去找该窗体是否存在,如果存在就直接show,没有在new
黑子大哥 2014-03-14
  • 打赏
  • 举报
回复
引用 2 楼 GZQ0821 的回复:
[quote=引用 1 楼 bdmh 的回复:] 你可以用一个List记录已经打开的窗体,点击时,到List中去找该窗体是否存在,如果存在就直接show,没有在new
List直接new对象Add存放吗?只有Value没有Key那该怎么判断Form是否存在???[/quote] 你也可以使用Typeof(Object).FullName 作为key存储 用字典 C# 有GC 你也可以手动回收

17,747

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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