タグ

ブックマーク / d.hatena.ne.jp/AWAWA (2)

  • 今日はIEのメモリリーク対策に注力した - SEの行き着くところ…

    参考にしたのはココ。IEのメモリリーク問題DOM オブジェクトとメモリリーク: Days on the Moon Internet Explorer 繝ェ繝シ繧ッ 繝代ち繝シ繝ウ繧堤炊隗」縺励※隗」豎コ縺吶k Googleさんに「IE メモリリーク 循環参照」で聞いた結果の上3件ってだけやけど・・。 「念のため」も含めてやったのもあるので全部が効果あったのかはわからないが、俺が気をつけたポイントは以下の通り。 DOMオブジェクトは生成後すぐにDOMツリーに追加する今まではcreateElementして、スタイルやイベントハンドラ設定した後で親ツリーに追加してた。これを生成後すぐにツリーに追加し、スタイルやイベントハンドラはその後で落ち着いてやるように変更した。 //↓こんなのを var img = document.createElement('img'); img.onmousedown

    raimon49
    raimon49 2008/11/18
    DOMツリー追加順序, 明示的なnull代入など
  • IEメモリリークの最後の壁はAjaxのonreadystatechangeやった!! - SEの行き着くところ…

    今日はIEのメモリリーク対策に注力した - SEの行き着くところ…の続き。ついについに解決した。解決の糸口(というか答え)はPrototype.jsにしっかりと書いてたやんか! // avoid memory leak in MSIE: clean up this.transport. onreadystatechange = Prototype.emptyFunction; どうやらDOMオブジェクトだけでなく、new ActiveXObject('Msxml2.XMLHTTP')もメモリリークする模様。(確かに考えてみりゃそっちの方がリークしそう・・) ここでポイントだったのはonreadystatechangeに「null」を入れても効果がなく、関数外で定義された(できればグローバルスコープの)空関数を定義する、というところやった。(上のコードでいうとPrototype.emptyF

  • 1