Eclipse RAP:"dispose" 个小部件的最佳实践?

Eclipse RAP: Best practice for "dispose" of widgets?

我是 Eclipse RAP 的新手,没有使用 SWT 或 Eclipse RCP 的经验。但我知道开发人员有责任处置 SWT 小部件,因为它们具有会阻塞操作系统资源的本机对等体。

但是 "dispose" 在 RAP 应用程序中呢?管理操作系统资源(可能是文件对话框)是浏览器的问题。所以 "dispose" 对于纯 RAP 的应用程序似乎是不必要的,对吗?

现在,如果我想使用 SWT 和 RWT 进行单一采购,即相同的源代码作为独立的 RCP 应用程序和 RAP Web 应用程序运行。 关于 "dispose" 的最佳做法是什么? 应该如何触发?需要处理什么?

在处理小部件方面,SWT 和 SWT/RAP 没有区别。

虽然 SWT 小部件持有本机 OS/window 系统资源但未被释放,但 RAP 小部件持有浏览器资源,即 DOM 节点,只要它们存在。在不再需要时处理小部件,并尽可能延迟创建小部件。

至于什么需要处理 - 任何有 dispose 方法的东西!那是从 WidgetResource.

派生的任何东西

释放从 Widget 派生的对象(控件、复合材料...)通常在 Shell 关闭时自动处理。

处理从 Resource 派生的对象(如 ColorGCFont、...)必须由您的代码完成。一旦不再需要它们,您应该立即将其处理掉。未能处理这些对象是常见错误。