none
关于注册事件导致的内存泄露的问题, 麻烦大牛解惑 RRS feed

  • 常规讨论

  • 用了这么久c#, 一直被其自动回收蛊惑, 没怎么注意对象回收的问题

    今天看了一个贴子说注册事件导致对对象的强引用, 会导致该对象没法被gc回收

     

    例如我当前在做一个即时消息的模块, 聊天窗口管理器会对所有打开的聊天窗口注册一个closed的事件, 以便在用户关闭聊天窗口时在内部列表中移去该窗口的引用, 以我一向的理解, 该窗口对象会被gc自动回收, 可现在看来, 我没有对该对象进行closed事件注销的操作, 会导致该对象一直存在于内存中.

    那么:

    我上面的理解是否有误?

    windowform或wpf有否对这些事件进行特殊的处理解决这样的问题?

     

    2011年3月14日 9:19