当前位置 : 主页 > 网络编程 > 其它编程 >

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

来源:互联网 收集:自由互联 发布时间:2023-07-02
我的服务使用的是timer,现在大概一两分钟进行一次GC.Collect();,这算不算太频繁了?会不会对系统造成什么影响?我知道不应该进行强制回收,但是模块有点大。内存占的又很多。。 我
我的服务使用的是timer,现在大概一两分钟进行一次GC.Collect();,这算不算太频繁了?会不会对系统造成什么影响?我知道不应该进行强制回收,但是模块有点大。内存占的又很多。。 我的服务使用的是timer,现在大概一两分钟进行一次GC.Collect();,这算不算太频繁了?会不会对系统造成什么影响? 我知道不应该进行强制回收,但是模块有点大。内存占的又很多。。 只要告诉我一分钟调用一次GC.Collect();会不会对系统造成很大的负担就好了。。

4 个解决方案

#1

这个不好说!

#2

显式执行GC.Collect()有可能给内存回收增加负担,而且不一定能真正回收内存 建议优化代码

#3

每次调用GC都是一个比较大的负担。而且定时调用更是没有必要。 如果真有必要想在大模块之后尽快释放,那么就在需要释放的地方调用就好了。

#4

GC.Collect()方法不是立即回收资源,所以两分钟回收一次是没必要的,可以尝试实现IDisposable接口,控制资源释放。
上一篇:python机器学习库
下一篇:没有了
网友评论