刪除事件處理程序我最近建立了一個示例應用程序,其中我實現了事件和委託,當屬性值改變本次活動將提高,我有一個關於事件中添加和.NET
問題事件對象是否在內存中創建?或者它們只是一旦事件被觸發就會被移除的靜態對象?
事件執行後是否需要刪除處理程序,以釋放資源。不去除處理完成一次,提高的了應用程序的性能,我說的這是使用大量的事件
刪除事件處理程序我最近建立了一個示例應用程序,其中我實現了事件和委託,當屬性值改變本次活動將提高,我有一個關於事件中添加和.NET
問題事件對象是否在內存中創建?或者它們只是一旦事件被觸發就會被移除的靜態對象?
事件執行後是否需要刪除處理程序,以釋放資源。不去除處理完成一次,提高的了應用程序的性能,我說的這是使用大量的事件
活動確實會存儲應用程序,並且不收集,直到你從他們取消後的垃圾。他們是memory leaks.
活動的常見原因可能是靜態和實例綁定。在事件廣播者活着的時候,事件的訂閱者不會被刪除,除非通過 - =運算符隱含地完成。
是的,是的,是的。如果你沒有清理你的用戶,你會有一個內存泄漏等待發生。
如果所有這些都是您所關心的,也許您可以查看WeakEvent模式。
events
就像delegates
(另一層保護)。
當你註冊一個事件 - 你實際上正在引用另一個對象。
這個對象不能通過GC,因爲你提到了它!
它不是「未參考」。
但您的對象CAN可以通過GC。 (如果未被引用)。
所以你最終會發生內存泄漏。
你應該手動刪除參考。