社区
.NET Framework
帖子详情
.net framework4.0 GC问题
flashbrother
2011-04-07 09:48:54
最近写歌程序按照X64编译,放到WIN7 64bit系统下运行,发现内存涨的厉害,仔细检查,查出一处问题就是graphics对象不会自动释放,需要我手动dispose掉,但是同样的程序在WIN XP下就没有这个问题,现在程序做动作,在WIN7下内存还是会涨。
我的程序使用的是.NET FRAMEWORK 4.0,用3.0编译后,在WIN7下就没有问题,
想问一下,.NET 4.0的垃圾回收机制改变了吗?我的程序问题最有可能出在哪里?
...全文
316
12
打赏
收藏
.net framework4.0 GC问题
最近写歌程序按照X64编译,放到WIN7 64bit系统下运行,发现内存涨的厉害,仔细检查,查出一处问题就是graphics对象不会自动释放,需要我手动dispose掉,但是同样的程序在WIN XP下就没有这个问题,现在程序做动作,在WIN7下内存还是会涨。 我的程序使用的是.NET FRAMEWORK 4.0,用3.0编译后,在WIN7下就没有问题, 想问一下,.NET 4.0的垃圾回收机制改变了吗?我的程序问题最有可能出在哪里?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
变成熊猫你就老实了是不
2011-04-27
打赏
举报
回复
gc启动频率如何不是你的内存决定,而是策略引擎根据代龄情况决定的,64#、server os、gc回收模式等都会影响这个因素;
Dispose()并不会立即启动gc,它只会释放非托管资源;
你在程序中,调用System.GC.Collect();如果调用后你的内存释放了,就说明没问题,相反就要关注你的程序是否有资源使用不合理的地方了
SecretGarden
2011-04-21
打赏
举报
回复
有人认为 Dispose 是笨方法?所有实现了 Disposable 接口的对象必须显式的调用 Dispose 方法,除非你的程序永远只有你自己用。所以楼主毫无疑问应该修改你的程序显式释放所有资源,绝对不应该让你的程序依赖于 CLR 的垃圾收集器的工作方式。
GC.Collect 倒是一般不必显式调用,除非要使用了极大的临时内存之后。
xqqkl
2011-04-18
打赏
举报
回复
[Quote=引用 8 楼 kingdom_0 的回复:]
手动GC
[/Quote]
我以为你想说OGC或者OBC
码农星球撸码J
2011-04-18
打赏
举报
回复
1:手动GC一般没有必要;
2:一个类型如果继承了IDisposable接口,那么它一定要手动Dispose。
参考:C#中标准Dispose模式的实现,http://www.cnblogs.com/luminji/archive/2011/03/29/1997812.html
kingdom_0
2011-04-15
打赏
举报
回复
手动GC
isjoe
2011-04-13
打赏
举报
回复
第一GC的释放时机连微软都不能确定
第二使用using(){}创建对象,确保不使用的时候自动释放,不能用using的,自己可以从IDisopse接口继承处理
None465465535
2011-04-11
打赏
举报
回复
只有1个对象没有任何引用的时候,GC才会施放
hhddzz
2011-04-11
打赏
举报
回复
那个,Graphics不是一直都要手动释放的吗
flashbrother
2011-04-07
打赏
举报
回复
[Quote=引用 2 楼 wxr0323 的回复:]
手动dispose
手动GC
[/Quote]
可是现在的问题时,我都不知道哪个东西它没释放
在XP下,程序最小化,内存会立刻释放降到很小
但是在WIN7下,最小化程序,内存没有释放
段传涛
2011-04-07
打赏
举报
回复
[Quote=引用 2 楼 wxr0323 的回复:]
手动dispose
手动GC
[/Quote]
hehe 虽然是笨方法。 还是顶吧。
可以去微软官网下载 4.o 新特性的视频和代码
子夜__
2011-04-07
打赏
举报
回复
手动dispose
手动GC
FengYuanMSFT
2011-04-07
打赏
举报
回复
64 位内存大,GC Policy 不一样。可以用 add memory pressure.
.NET
Framework
4.0
.30319
安装kiwi syslog server日志服务器,需要的微软
.NET
框架
.NET
Framework
4.0
离线安装包 dotNetFx40_Full_x86_x64.zip
.NET
Framework
4.0
离线安装包 dotNetFx40_Full_x86_x64.exe
net
framework
4.0
.rar
手动安装的
framework
版本,不需要自己安装Visual Studio 2017等开发工具
.net
framework
4.0
.net
framework
4.0
.net
framework
4.0
.net
framework
4.0
net
framework
4.0
比较先进的软件都需要在这个框架上面运行,安上会好写
.NET Framework
17,748
社区成员
24,327
社区内容
发帖
与我相关
我的任务
.NET Framework
.NET技术 .NET Framework
复制链接
扫一扫
分享
社区描述
.NET技术 .NET Framework
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章