使用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)
}
})
}
你可以参照一下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)
}
})
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯