gpt4 book ai didi

.net - 我是否需要手动删除所有事件以使我的对象从内存中删除?

转载 作者:行者123 更新时间:2023-12-01 11:09:08 26 4
gpt4 key购买 nike

我已阅读 MSDN这需要取消订阅对象必须能够从内存中处理它的每个事件。我总是使用 -= 删除所有对我对象内事件的引用(如 MSDN show)。

现在,我必须维护代码,它有一些内存泄漏。我看到以前的开发人员只是将所有事件订阅的对象设置为 NULL,而不是 -= 每个事件方法。

例子:

_watcher.Changed += new ...
_watcher.Created += new ...
_watcher.Deleted += ..

//later.

_watcher = NULL;

这是一个好方法还是将变量保存在内存中?

最佳答案

如果没有对 _watcher 的其他引用,则无需删除事件处理程序以避免内存泄漏。

作为习惯,我倾向于明确删除事件处理程序。

关于.net - 我是否需要手动删除所有事件以使我的对象从内存中删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2058265/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com