什么是或如何确定ZK ViewModel的生命周期

时间:2012-11-16 11:09:59

标签: java mvvm zk

我想弄清楚ZK Applikation中ViewModel的典型生命周期是什么,以及ViewModel不再有效的重要点。

我想知道的最重要的事情是,如果浏览器刷新,那么使用zul页面加载实例化的ViewModel会被垃圾收集。我可以看到init方法已执行,但我没有看到调用finalize方法。

第二个是如果在zk导航中有一些列表或任何关于某些重要点的文档,你肯定会松开以前实例化的ViewModel。

1 个答案:

答案 0 :(得分:1)

除非您在某处缓存对ViewModel的引用,否则ViewModel将绑定到页面生命周期(也称为ZK术语中的Desktop)。

  • 当您刷新页面时,ViewModel将像Desktop一样重新创建,并使用它重新创建所有组件。
  • 如果您导航到另一个URL,则所有组件和关联的ViewModel都有资格进行垃圾回收。

但是,您不应该依赖于是否调用finalize方法来确定它们是否被清除,因为JVM不保证何时调用finalize。