javascript – 如何在Ajax请求后释放内存

我的网站上有一个非常基本的ajax幻灯片.在每个滚动条上,新图像和响应内容不断增加浏览器使用的内存量.

我完成了我的研究并尝试了所有建议,以便在每个新请求上重置XHR对象,但这绝对没有任何帮助.

幻灯片是基本的,但可能包含数百张幻灯片.我希望用户能够无限制地浏览幻灯片,而不会崩溃他们的浏览器.这甚至可能吗?

谢谢,Brian

解决方法:

增加内存使用量是正常的.毕竟,您每次都要加载更多数据 – 来自AJAX响应的HTML,以及正在显示的图像.除非您使用的是Adobe Pagemill生成的HTML,否则只需几百字节的HTML /文本.这是将吸收最多空间的图像.一切都塞进了浏览器的缓存中.

由于你没有直接使用DOM(构建子树和诸如此类)的任何东西,只是重复地替换一大块HTML,最终浏览器将进行清理并从内存中查看一些未使用的/旧的/陈旧的图像数据/ cache并回收一些内存.

现在,如果你正在进行一些高度复杂的DOM操作并在运行中生成大量新节点,并且在这里和那里泄漏了一些节点,那么你就会遇到内存问题,因为那些泄漏的节点最终会掩盖浏览器.

但是,只需通过加载图像来增加内存使用量就不用担心了,它就像普通的扩展冲浪会话一样,除了你只是加载一些新的图片.

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...