java - GWT:完成对象并删除其事件处理程序

标签 java events gwt event-handling

在 GWT 中,我有类 MyClass 注册了一些事件处理程序。 MyClass 有一个对象 (object1),在特定时刻,我想完成并使其处理程序停止监听,因为在那之后我将创建一个不同的 MyClass 对象 (object2)。

我该怎么做?我已经尝试使用 object1 = null,但它的处理程序一直在监听(至少有一段时间)。

最佳答案

处理程序可能仍然存在,因为 gc 没有绕过销毁它们。 如果监听器不再存在很重要,则需要注销它们。

一种方法是注销 HandlerRegistration。例如 addClickHandler返回 HandlerRegistration可以注销。何时以及如何执行此操作取决于您的 GUI 类。您可以将注销放在您的 finalize 方法中,但您可能会发现这些方法被偶尔调用,因为 gc,当然因为这不是 java 而是 javaScript。所以考虑将它们放在 gui 元素的分离或销毁方法中 onDetachonUnload .

关于java - GWT:完成对象并删除其事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13377685/

相关文章:

javascript - 在 GWT JSNI 中调用 JCrop

java - Zookeeper集群设置

javascript - 根据事件状态显示参加按钮

java - 服务器端和客户端框架

c# - 在同一事件处理程序中检测 CTRL + 单击 DataGridView 单元格

Java:在 SQL 数据库中对事件执行某些操作?

google-app-engine - 谷歌应用引擎 : Missing required argument 'module[s]'

java - Class.getConstructor 和继承

java - "Error initializing Network Connection: Class not found",源: file:///android_asset/www/cordova.js

java - 我应该如何初始化类 freemarker.template.Configuration?