タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

viewに関するcancer6のブックマーク (2)

  • ゾンビView問題~Backbone-supportでSwapping RouterとCompositeViewを使う | | Scimpr Blog

    Backbone.jsでページ遷移を行うとき、今まで使っていたViewはどこに行ってしまうのか その謎は僕らにも解明できていないんだ ホントは、Backbone.jsはViewの使い方についてメモリ管理機構をもってないので、明確に開放しないとメモリを圧迫したり、予期しない動作を起こしたりすることがある たまたま、そんな現象がカメラに撮影できたので観てもらいたい これはコレクションへのaddの監視が2重、3重に設定されちゃうので起こってるっぽい現象 こういったことを避けるには簡単で設定してるイベント類をちゃんと開放?(unbind)してから次の動作に移ればいい 開放するものは3つくらいあって、1.DOMと2.それに渡されたモデルやコレクションのイベント、3.view独自のイベント(イベントハッシュでバインドしたイベント)だ DOMの開放は一番簡単で

    ゾンビView問題~Backbone-supportでSwapping RouterとCompositeViewを使う | | Scimpr Blog
  • backbone奮闘記2, メモリリークをやっつけろ

    こんにちは。 今回はbackbone.jsが引き起こすメモリリークについて語ります。 普通によくやるので、結構有名な話。 「backbone ゾンビ」でググるとたくさんヒットするんだけど、脳に定着させるためにまとめてみる。 ではまず問題のコード。 どこが悪いでしょうか? リークを引き起こすコード例 var ListView = Backbone.View.extend({ initialize: function() { this.collection.on('reset', this.reset, this); }, reset: function(collection, options) { this.$el.html(''); collection.each(function(model) { this.append(model); }, this); return this;

  • 1