左側のサイドバーメニュービューと右側のメインビューの2つのビューに分割された1つのウィンドウで構成された合金アプリケーションがあります。 ユーザがサイドバーの別のメニュー項目をクリックするたびに、メインビューに接続されているすべての子を削除し、そのメニュー項目に関連するビュー/コントローラをロードしてメインビューにアタッチします。私の質問:これで十分ですか?削除されたビューに内部の要素にイベントリスナーが添付されている場合、それらもクリーンアップされているかどうか 私は、新しいビュー/コントローラをロードする前に、私がインスタンス化して、controller.destroy()とcontroller.off()を呼び出す各コントローラへの参照を保持する必要はありませんか?Titanium:非ウィンドウビューに関連付けられたコントローラを正しくクリーンアップする
UI.View要素を「閉じる」(ウィンドウのみ)にすることはできないため、ウィンドウを持たないビューでは「onclose」イベントにクリーンアップ機能を付加できないので頼みます。
これは、チタンのこの状況を処理する正しい方法ですか?
しかし、私が削除しているビューの内部要素にのみイベントリスナーを添付すれば、それらは存続するかどうかはわかりません。あなたの助けをありがとう – revy
彼らはコレクションやモデルにバインドしない場合、生き残れません。イベントリスナーにTi.App.info(「いくつかの単語」)を追加して表示を閉じてもう一度開き、「いくつかの単語」が何回表示されているかを確認してください。閉じたビューのイベントリスナーがまだそこにあることを意味します。 – jack
今、私はそれをありがとう! – revy