2016-10-25 4 views
1

私は閉じたコンポジットカスタムウィジェットをアーカイブしようとしています。私は、ウィンドウ、ページ、およびタブビューのクラスを勉強しています。クローズドウィジェットまたは「クローズド」ウィジェットがどこに行くのかを理解しようとしていますか?

ウィンドウからclose()方法は基本的にTabViewはremove(page)メソッドを呼び出して、closeページイベントをリッスン、ウィジェットを非表示にし、これは内部paneからpageを削除し、しかし、私はpage.close()のようなものを見つけていません。だから、閉じられた未亡人とページはどうなりましたか?まだ存在しますか? 私自身のclose()メソッドは、hide()メソッドを呼び出すだけで、ウィンドウのようにcloseイベントを発生させる必要がありますか?これにはメモリリークはありませんか?

答えて

1

ウィジェットはwidget.destroy()に電話するまで使用可能ですが、それまではウィジェットは非表示にするか、親コンテナから削除することができます。あるコンテナから削除されたら、それらを再利用して別のコンテナに追加することができます。IE6の時代には、未使用のウィジェットをプールに移動して再利用する方が速いため、 1つはゼロから削除されます(ウィジェットは破棄されるまでDOM要素を保持します)。 、そうclose()open()です(ほとんど)の素敵なAPIよりも何も、それは本当にありません、すべてのイベントを削除するか、ウィンドウのウィジェットを隠し、火災で -

Windowclose()方法は、実際にウィンドウを使用しての意味論のほんの一部であり、ユーザーが簡単に砂糖を飲むことができます。 からページを追加したり削除したりすることが全体的な考え方であるため、close()メソッドは必要ありません。

OTOH Page

+0

ありがとう、たくさんありますが、私は多くのことを明確にしていません。 :) しかし、今私は別の質問があります:今はウィジェットを破棄するか、IE6の日のように再利用を待っている場所に置くのがベストですか?そして、それは私が世話をしなければならないことを意味するのですが、再び表示される各ウィジェットを手動できれいにするのですか? –

+0

ウィジェットをプールする必要はなくなりました。ウィジェットを '破棄(dispose)して忘れてしまった方がずっと簡単です。 – johnspackman

関連する問題