2012-01-20 23 views
0

我不想通过所有事件取消订阅内存泄漏帖子来查看是否有处理异常,所以我正在发一个新帖子。由于异常导致事件取消订阅内存泄露

如果我注册一个带有事件的函数,并且在我注销之前发生异常,会导致内存泄漏吗?我在调用函数中有一个try/catch,但不是在用于连接/断开事件的函数中,并且如果我不需要它,宁可不尝试/ catch。

回答

1

对于大多数订阅方法,不退订的事件订阅者的寿命将延长到事件源的寿命。如果事件源是短暂的,这不会是一个问题。如果事件源很长,这可能是一个巨大的问题。最好的习惯用法通常是在IDisposable中取消事件。如果使用“使用”块,Dispose方法将被调用,确保事件取消订阅。

相关问题