C#内存回收问题。手动调用GC.Collect();

ooo7880000 2012-07-27 09:06:45
我的服务使用的是timer,现在大概一两分钟进行一次GC.Collect();,这算不算太频繁了?会不会对系统造成什么影响?

我知道不应该进行强制回收,但是模块有点大。内存占的又很多。。


只要告诉我一分钟调用一次GC.Collect();会不会对系统造成很大的负担 就好了。。
...全文
2077 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
快溜 2012-07-27
  • 打赏
  • 举报
回复
GC.Collect()方法不是立即回收资源,所以两分钟回收一次是没必要的,可以尝试实现IDisposable接口,控制资源释放。
cheng2005 2012-07-27
  • 打赏
  • 举报
回复
每次调用GC都是一个比较大的负担。而且定时调用更是没有必要。
如果真有必要想在大模块之后尽快释放,那么就在需要释放的地方调用就好了。
sj490790083 2012-07-27
  • 打赏
  • 举报
回复
显式执行GC.Collect()有可能给内存回收增加负担,而且不一定能真正回收内存

建议优化代码
evil_steve 2012-07-27
  • 打赏
  • 举报
回复
这个 不好说!

111,092

社区成员

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

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

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