我们正在将 RCP 应用程序从 Eclipse 3.8 迁移到 Eclipse 4。 在 Eclipse 3.8 中,视图的 saveState (IMemento) 方法仅在关闭应用程序时调用,对于仍然打开的视图。
在 Eclipse 4 中,当我关闭视图而不关闭应用程序时,也会调用 saveState 方法。
有什么方法可以将 Eclipse 4 的行为更改为与 Eclipse 3.8 相同吗?
我已经在寻找要添加到视图中的标签来更改此行为,但我找不到它。
正如 greg-449 所说,没有什么可以阻止 Eclipse 在关闭时保存视图的状态。
因此,为了解决我的情况,在我的 saveState(IMemento) 方法中,我测试应用程序是否正在关闭,如果没有,我不会将视图设置保存在 memento 键中。
为了知道应用程序是否正在关闭,我有一个 IWorkbenchListener 接口的实现,它有 preShutdown 方法。当调用此方法时,我知道应用程序正在关闭。