我的网站上有一个非常基本的ajax幻灯片.在每个滚动条上,新图像和响应内容不断增加浏览器使用的内存量.
我完成了我的研究并尝试了所有建议,以便在每个新请求上重置XHR对象,但这绝对没有任何帮助.
幻灯片是基本的,但可能包含数百张幻灯片.我希望用户能够无限制地浏览幻灯片,而不会崩溃他们的浏览器.这甚至可能吗?
谢谢,Brian
解决方法:
增加内存使用量是正常的.毕竟,您每次都要加载更多数据 – 来自AJAX响应的HTML,以及正在显示的图像.除非您使用的是Adobe Pagemill生成的HTML,否则只需几百字节的HTML /文本.这是将吸收最多空间的图像.一切都塞进了浏览器的缓存中.
由于你没有直接使用DOM(构建子树和诸如此类)的任何东西,只是重复地替换一大块HTML,最终浏览器将进行清理并从内存中查看一些未使用的/旧的/陈旧的图像数据/ cache并回收一些内存.
现在,如果你正在进行一些高度复杂的DOM操作并在运行中生成大量新节点,并且在这里和那里泄漏了一些节点,那么你就会遇到内存问题,因为那些泄漏的节点最终会掩盖浏览器.