清除浏览器中的内存
Clearing memory in browsers
我有一个图像旋转器,它为新幻灯片创建一个div,隐藏当前幻灯片,显示新的div,并删除隐藏的div。所有这些都是通过jquery完成的,我将使用以下代码删除不再需要的幻灯片:
var last = $("#item_" + lastSlide + "_" + idSuffix);
last.empty();
last.remove();
last = null;
每次滑动后内存仍在增加。有什么办法能有效地清除记忆吗?
在不同的幻灯片上使用不同的元素是不明智的。您应该使用两个元素来淡入幻灯片。这是我前一段时间写的代码:
el = function(q) {return document.getElementById(q)};
var slides=["logo.jpg","avond.jpg","bar.jpg","buitencloseup.jpg","servet.jpg","spelcomputers.jpg","tafelaanbar.jpg","tafelsbuiten.jpg"],
Math.floor(Math.random()*slides.length),
highimg=el("highimg"),
lowimg=el("lowimg"),
fade,
changeslide=function() {
lowimg.style.backgroundImage=highimg.style.backgroundImage
highimg.style.backgroundImage="url(img/slideshow/"+(slides[++_src]||slides[_src=0])+")"
var time=highimg.style.opacity=0;
highimg.style.filter="alpha(opacity=0)"
if (fade)
clearInterval(fade)
fade=setInterval(function(){
if(highimg.style.opacity<1)
highimg.style.filter="alpha(opacity="+(highimg.style.opacity=time+=1/40)*100+")"
else
{
highimg.style.filter="alpha(opacity=100)";
highimg.style.opacity=1
clearInterval(fade);
}
},25)
}
interval=setInterval(changeslide,10000)
highimg.onclick = changeslide
changeslide()
我想到的最佳解决方案是在删除元素之前清除html内容。
例如:myDiv.html("");
myDiv.remove();
相关文章:
- 设置客户端的浏览器内存
- 如何在浏览器中触发另存为对话框,以便可以在内存中保存 json 数据
- 在浏览器崩溃之前检测到内存耗尽
- 在消耗大量内存后,浏览器在创建图像Blob的ObjectURL时抛出错误
- three.js内存泄漏/浏览器崩溃
- 如何使用java脚本更改浏览器的内存管理以增加会话存储和本地存储的内存
- 变量和数组将在浏览器内存中保留多长时间
- 由于数组大小,Javascript 主要浏览器的内存不足
- 使用 window.location.replace 但页面仍在浏览器的内存中
- 创建/追加 HTML 元素(浏览器内存)
- 浏览器内存泄漏
- 如何将内存流调用到浏览器下载
- 浏览器何时将图像加载到工作内存中
- 在浏览器中缓存对象时,内存过多
- 删除JavaScript事件处理程序后,是否将其从浏览器内存中删除
- IE浏览器内存问题
- 错误处理“;内存不足异常”;在浏览器中
- 多次打开对话框会缓慢地增加浏览器内存
- 在浏览器内存中加载的最大数据量
- 导致浏览器内存泄漏的javascript