現在、バックボーンを使用してアプリを実装しています。メモリ管理の一環として、ビューを切り替えるときにすべてのビューの分解をトリガーします
teardown: ->
for viewName, view of @subViews
view.teardown()
for object, events of @objectEvents
@_handleObjectEvents("off", object, events)
@off()
@remove()
@undelegateEvents()
@
このアプローチは、メモリの問題のほとんどを確実に解決するのに十分ですか?ここでの課題は、各ビューのすべてのサブビューを追跡し、クリーンアップの一部としてすべてのメインビューとサブビューのティアダウンを呼び出す必要があることです。
検索を行ったところ、バックボーンにも次の2つのイベントがあることがわかりました。「listenTo」と「stopListening」で、ビューレベルでモデルへのイベントのバインドを制御します。
view.listenTo(model, 'change', view.render);
view.stopListening(model);
私の質問は、分解の実装と「stopListening」の使用の間に重複がありますか?メモリ管理に「stopListening」だけを使用できますか?