在我的自定义组合(继承自 SWT Composite
)的构造函数中,我将自己注册为 Eclipse IEventBroker
的事件处理程序。
为了取消订阅处理,我重写了我自己取消订阅的 dispose
方法。
但我现在注意到取消订阅并没有发生,事实上 dispose
方法从未被调用。
取消订阅或避免关闭的 Composite/ViewPart 留下“泄漏”事件处理程序的正确方法是什么?
我使用 Eclipse RCP 3.x(因此没有注释/注入(inject))。在 E4 中,如果我理解正确的话,我可以使用自动事件订阅或@Predestroy 方法。
最佳答案
使用 Composite
的 addDisposeListener
添加一个 DisposeListener
并在监听器中取消订阅。
关于java - eclipse RCP : How and when to correctly unsubscribe a Composite from EventBroker?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30625525/