2

ZK Applikation における ViewModel の典型的なライフサイクルとは何か、ViewModel がもはや有効ではない重要なポイントは何かを理解しようとしています。

私が知りたい最も重要なことは、ブラウザーが更新された場合に、zul ページのロードでインスタンス化された ViewModel がガベージ コレクションされるかどうかです。init メソッドが実行されていることはわかりますが、finalize メソッドが呼び出されていることはわかりません。

2 つ目は、以前にインスタンス化された ViewModel を確実に失う zk ナビゲーションのいくつかの重要なポイントに関するリストまたはドキュメントがある場合です。

4

1 に答える 1

1

ViewModel への参照をどこかにキャッシュしていない限り、ViewModel はページのライフサイクル (ZK 用語ではデスクトップ) にバインドされています。

  • ページを更新すると、デスクトップと同じように ViewModel が再作成され、すべてのコンポーネントが再作成されます。
  • 別の URL に移動すると、すべてのコンポーネントと関連する ViewModel がガベージ コレクションの対象になります。

ただし、JVM は finalize がいつ呼び出されるかを保証しないため、それらがパージされるかどうかを判断するために finalize メソッドが呼び出されているかどうかに依存しないでください。

于 2012-12-04T01:22:16.923 に答える