2009-04-29 3 views
4

リークは非常に簡単に作成できます。下のHTMLを、 "TestImage0.jpg"、 "TestImage1.jpg"、... "TestImage9.jpg"という大きな画像のリストの横に置きます。ページのクリックごとにページがメモリをリークします(私はテストのためにsIEveを使用しました)。サイズ変更CSSが削除された場合、ページはリークしません。誰でもIE8の問題であることを確認できますか、私の実験に欠陥がありますか?これはIE8のメモリリークであることを誰かが確認できますか?

テストコード

<html> 
<head> 
    <title>Memory Leak Testing</title> 

    <script type="text/javascript"> 

    var count = 0; 

    window.onload = 
     function() { 
      AppendImage(); 
      window.document.body.onclick = ReplaceImage; 
     } 

    var ReplaceImage = function() { 
     window.document.body.removeChild(document.getElementById('MemTestObject' + count)); 
     count++; 
     if (count > 9) { 
     alert('No more images to load.'); 
     } else {  
     AppendImage(); 
     } 
    } 

    var AppendImage = function() { 
     var imageObject = document.createElement('img'); 
     imageObject.id = 'MemTestObject' + count; 
     imageObject.className = 'MemTestObject'; 
     imageObject.src = 'TestImage' + count + '.jpg'; 
     window.document.body.appendChild(imageObject); 
    } 

    </script> 

    <style type="text/css"> 
    .MemTestObject { 
     width: 140px; 
     height: 178px; 
    } 
    </style> 
</head> 
<body> 
    <h1>Memory Leak Testing</h1> 
</body> 
</html> 
+0

他のブラウザをテストしましたか? –

+0

FF3のメモリフットプリントは、IE8とほぼ同じ速度で増加します。しかし、FF3では、数回のガベージコレクションラウンドを待ってからメモリが解放されます。 IE8は、ページがアンロードされてもメモリを解放しません。 – JoshNaro

+0

一度ページを閉じてもう一度開くと、さらにメモリがリークしますか? – Daemin

答えて

0

質問は、 "誰かが、これはIE8のメモリリークであることを確認することはできますか?" であります答えが得られるのは、はい、ある人がこれを確かめることができます。

本当にIEで有効なメモリリークと思われる場合は、まずそれがIEであることを確認してください。その後、具体的な作業を続けてください。このリークを再現する方法を正確に記述することができれば、MSに報告することを検討することはできますが、すぐに修正することはおそらくありません。しかし、他の人が罠を避けることができるように、是非ニュースを広めてください。

関連する問題