gpt4 book ai didi

javascript - Ajax 请求后如何释放内存

转载 作者:行者123 更新时间:2023-11-28 10:06:28 29 4
gpt4 key购买 nike

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

我已经完成了我的研究,并尝试了所有建议来重置每个新请求的 XHR 对象,但这绝对没有任何帮助。

幻灯片很基本,但可能包含数百张幻灯片。我希望用户能够无限期地浏览幻灯片而不会使浏览器崩溃。这可能吗?

谢谢,布莱恩

最佳答案

内存使用量增加是正常的。毕竟,您每次都会加载更多数据 - 来自 AJAX 响应的 HTML 以及正在显示的图像。除非您使用 Adob​​e Pagemill 生成的 HTML,否则这只是几百字节的 HTML/文本。图像会占用最多的空间。所有内容都会被填充到浏览器的缓存中。

由于您没有直接对 DOM 做任何花哨的事情(构建子树等),只是重复替换一大块 HTML,最终浏览器将进行清理并丢弃一些未使用/旧/过时的图像从内存/缓存中获取数据并回收部分内存。

现在,如果您正在进行一些高度复杂的 DOM 操作并动态生成大量新节点,并且到处泄漏一些节点,那么您就会遇到内存问题,因为这些泄漏的节点最终会埋葬浏览器。

但是,仅仅通过加载图像来增加内存使用量就不用担心,这就像正常的长时间冲浪 session 一样,只不过您只是加载一些新图片。

关于javascript - Ajax 请求后如何释放内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8273248/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com