社区
.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的垃圾回收机制改变了吗?我的程序问题最有可能出在哪里?
...全文
307
12
打赏
收藏
.net framework4.0 GC问题
最近写歌程序按照X64编译,放到WIN7 64bit系统下运行,发现内存涨的厉害,仔细检查,查出一处问题就是graphics对象不会自动释放,需要我手动dispose掉,但是同样的程序在WIN XP下就没有这个问题,现在程序做动作,在WIN7下内存还是会涨。 我的程序使用的是.NET FRAMEWORK 4.0,用3.0编译后,在WIN7下就没有问题, 想问一下,.NET 4.0的垃圾回收机制改变了吗?我的程序问题最有可能出在哪里?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
.NET
Framework
4.0
.30319是微软开发的一个关键组件,它为Windows操作系统上的应用程序提供运行环境。这个框架版本是
.NET
Framework
4的一个更新,包含了对开发者的重要改进和安全修复。在安装kiwi syslog server...
.NET
Framework
4.0
离线安装包 dotNetFx40_Full_x86_x64.zip
8. **Improvements in Garbage Collection (
GC
)**:
.NET
Framework
4.0
改进了垃圾回收机制,提高了性能和内存管理效率。 9. **Improved Security**:加强了安全性,如改进的代码访问安全性和更严格的默认权限策略,...
net
framework
4.0
.rar
在本案例中,"net
framework
4.0
.rar"是一个压缩包,包含了
.NET
Framework
4.0
的手动安装程序,名为"dotNetFx40.exe"。
.NET
Framework
的核心组件包括Common Language Runtime (CLR) 和
.NET
Framework
Class Library...
.net
framework
4.0
.NET
Framework
4.0
是微软开发的一个重要软件框架,它为开发者提供了构建、运行Windows应用程序所需的环境。这个框架自2010年发布以来,极大地推动了Windows平台上的应用程序开发,尤其是在C#、Visual Basic
.NET
和F...
net
framework
4.0
此外,
.NET
Framework
4.0
还对垃圾回收(Garbage Collection,
GC
)进行了优化,减少了停顿时间,提高了应用程序的响应速度。并引入了AppDomain的概念,允许在同一个进程中隔离不同的应用程序,增强了安全性。 在...
.NET Framework
17,747
社区成员
24,327
社区内容
发帖
与我相关
我的任务
.NET Framework
.NET技术 .NET Framework
复制链接
扫一扫
分享
社区描述
.NET技术 .NET Framework
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章