永发信息网

使用javascript生成的图片内存不能释放 img src方式

答案:1  悬赏:30  手机版
解决时间 2021-03-23 22:21
  • 提问者网友:沉默菋噵
  • 2021-03-23 13:28
使用javascript生成的图片内存不能释放 img src方式
最佳答案
  • 五星知识达人网友:胯下狙击手
  • 2021-03-23 14:48
移出dom只是把图片的dom元素移除了。但是src指向的图片资源还是被占据着。因此在删除dom元素之前,先把el.src = '';我在chrome中这样做是可以释放图片占用的内存资源的。


你可以参照一下Zepto库释放图片资源的方法。代码如下:
$.fn.remove = function(){    
   return this.each(function(){    
     if(this.parentNode){    
       if(this.tagName === 'IMG'){    
         cache.push(this)    
         this.src = 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs='//让图片资源指向一个空白的gif图片。用cache变量保存dom的引用,60秒。让垃圾回收器有时间回收多余的图片资源。
         if (timeout) clearTimeout(timeout)    
         timeout = setTimeout(function(){ cache = [] }, 60000)    
       }    
       this.parentNode.removeChild(this)    
     }    
   })    
 }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯