社区
.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的垃圾回收机制改变了吗?我的程序问题最有可能出在哪里?
...全文
304
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
和 2.0/3.0/3.5
.Net
Framework
4.0
和 2.0/3.0/3.5 是两种不同版本的
framework
。 他们两者的
Gc
也不相同。所以2.0的程序在
4.0
上是不能运行的。因此你至少少得装2.0/3.0/3.5其中一个。 转载于:...
WPF 降低
.net
framework
到
4.0
WPF 降低
.net
framework
到
4.0
原文:WPF 降低
.net
framework
到
4.0
1.
问题
背景 由于xp系统上面最高只能安装
.net
framework
4.0
,所以公司项目需要将原来项目的
.net
framework
版本降低到
4.0
,具体的降...
.NET
4.0
任务(Task)
随着
.NET
4.0
的到来,她与以前各版本的一个明显差别就是并行功能的增强,以此来适应这个多核的世界。于是引入了一个新概念—任务,作为支持并行运算的重要组成部分,同时,也作为对线程池的一个补充和完善。从所...
通俗易懂,什么是
.NET
?什么是
.NET
Framework
?什么是
.NET
Core?
.Net
Web开发技术栈...
什么是
.NET
Framework
?什么是
.NET
Core? 什么是
.NET
?什么是
.NET
Framework
?本文将从上往下,循序渐进的介绍一系列相关
.NET
的概念,先从类型系统开始讲起,我将通过跨语言操作这个例子来逐渐引入一系列
.NET
的...
通俗易懂,什么是
.NET
?什么是
.NET
Framework
?什么是
.NET
Core?
什么是
.NET
Framework
?本文将从上往下,循序渐进的介绍一系列相关
.NET
的概念,先从类型系统开始讲起,我将通过跨语言操作这个例子来逐渐引入一系列
.NET
的相关概念,这主要包括:CLS、CTS(CLI)、FCL、Windows下CLR的...
.NET Framework
17,740
社区成员
24,334
社区内容
发帖
与我相关
我的任务
.NET Framework
.NET技术 .NET Framework
复制链接
扫一扫
分享
社区描述
.NET技术 .NET Framework
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章