这将是G-Collected吗? C#事件

时间:2011-07-04 14:03:42

标签: c# .net events memory-leaks garbage-collection

我有一些对象具有公共事件,对象“监听”以使消息通过系统。问题是我的程序内存占用不断增长,我想知道GC是否未能收集对象,因为其他对象订阅了它的事件

call.requestingHangup+=new CallEventHandler (Call_requestingHangup);

现在,如果没有其他命名引用此“调用”,但我们仍然订阅它的事件将GC删除它。还有任何内存诊断工具用于c#像valgrind的本机代码吗?

谢谢

1 个答案:

答案 0 :(得分:0)

当你完成它们时,你也应该像下面那样挂钩你的活动。这将确保它们是GCed。

call.requestingHangup-=new CallEventHandler (Call_requestingHangup);

请参阅other stackoverflow post,以便更好地解释这一点。