2012-11-16 21 views
2

我想弄清楚ZK Applikation中ViewModel的典型生命週期是什麼,以及ViewModel不再有效的地方。什麼是或如何確定ZK ViewModel的生命週期

我想知道的最重要的事情是,如果瀏覽器刷新時,使用zul頁面負載實例化的ViewModel會被垃圾收集。我可以看到init方法被執行,但是我沒有看到被調用的finalize方法。

而第二個這是如果有一個列表或任何關於zk導航中的某些重要點的文檔,您肯定會丟失以前實例化的ViewModel。

回答

1

除非您正在緩存對ViewModel的引用,否則ViewModel綁定到頁面生命週期(又名ZK術語中的桌面)。

  • 當您刷新頁面時,ViewModel將重新創建,就像桌面一樣,並且所有組件都將重新創建。
  • 如果您導航到另一個URL,則所有組件和關聯的ViewModel都有資格被垃圾收集。

但是,您不應該依賴是否調用finalize方法來確定它們是否被清除,因爲JVM不能保證何時調用finalize。

相關問題