微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

谢谢,Brian

解决方法:

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐