2017-03-14 2 views
0

J'ai essayé cela dans IE. Créez un uploadify control (version flash) et détruisez-le, faites-le encore et encore. Mais il semble que la mémoire alloué ne libère pas après la méthode destroy appelé.fuite de mémoire lors de l'utilisation de télécharger dans IE

libs

<script src="Scripts/jquery-3.1.1.js"></script> 
<link href="uploadify/uploadify.css" rel="stylesheet" /> 
<script src="uploadify/jquery.uploadify.js"></script> 

html

<button id="btnAdd">add</button> 
<button id="btnRemoveLast">remove last</button> 
<div id="container"> 
    <!--we will place uploadifies here--> 
</div> 

js

<script> 
     $(function() {    

      $('#btnAdd').click(function() { 
       add(); 
      }); 
      $('#btnRemoveLast').click(function() { 
       removeLast(); 
      }); 

      var count = 0; 
      function removeLast() { 
       if (count > 0) { 
        $('#uploadify' + --count).uploadify('destroy'); 
       } 
      } 
      function add() { 
       var elem = $('<div id="uploadify' + count++ + '"></div>'); 
       $('#container').append(elem); 
       elem.uploadify({ 
        height: 30, 
        swf: '/uploadify/uploadify.swf', 
        width: 120 
       }); 
      } 
     });   
    </script> 

Toutes les réponses seront appréciés, et merci pour gracier mon anglais :)

+0

Je suis désolé pour cela, je n'ai pas confirmé cette question assez avant de poster ma question ici. Je remarque que le contrôle 'uploadify' libère la mémoire quand son nombre atteint un certain nombre. –

Répondre

0

ressemble à un autre IE "f ONU". Si le problème est le même pour le problème que je connais, annuler sera la réponse. Dans IE, il y a un bug avec le GC, vous devez donc "libérer" vous-même les références et les variables de portée.

Essayez ceci:

var upToDestroy = $('#uploadify' + --count); 
upToDestroy.uploadify('destroy'); 
upToDestroy = null; 
+0

Cela ne fonctionne pas –

0

Je suis désolé pour mon retard Anwer. J'ai vu la question après mon travail. J'ai trouvé la solution du problème après avoir vu le code source du téléchargement. il semble travaillé à mon IE11 .Pay attention à la file d'attente. Cependant, pourquoi ne pas essayer le function CollectGarbage().Finally, s'il vous plaît oublier pour mon anglais pauvre.

+0

Vous avez raison. Cela fonctionne vraiment à IE. –