javascript - 如何从内存中清除图像 - 从 DOM 中删除后

标签 javascript google-chrome dom memory-management

我有 javascript 可以创建几十个 <div>使用 background-image:url(http://differentDomain.com/someImage.jpg) 加载图像的元素

它们都附加到 <div id = "container">

图像显示在屏幕上并完成 css 动画后,我删除容器:

var c = document.getElementById('container')
c.parentNode.removeChild(c);

删除后,我得到一组新图像,创建一个新容器并再次开始该过程。

问题是 - 移除容器后,页面不会清除内存,并继续在内存中无限膨胀 - 在图像中,内存在几次迭代后膨胀。 memory is not cleared

是否有更好的从 DOM 中删除的方法? 这是否与在图像上使用 css 动画有关?

最佳答案

如您的数据所示,图像位于浏览器缓存中,DOM 不包含图像。那不是它的作用。可能您在您的网站上实现了缓存。从内存中删除它们的唯一方法是首先不将图像作为可缓存的提供,让浏览器自行删除它们,浏览器和可能的操作系统会这样做。

在评论中,@Jacque 提出了一个关于引用的有趣观点,这可能是一个需要考虑的问题。

关于javascript - 如何从内存中清除图像 - 从 DOM 中删除后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32249982/

相关文章:

dom - 来自dom的Angular JS更新模型

html - DOM ID 中允许使用哪些字符?

javascript - JavaScript 类切换后的 CSS3 动画和动画问题

javascript - 使 YouTube 嵌入式 iframe 视频完全适合 div 而没有黑边?

html - 来自外部的 Shadow DOM CSS 样式在 Google Chrome 中不起作用

c# - 使用 HtmlAgilityPack 获取同一域上的所有链接

javascript - 我可以使用 HTML5 和 javascript 将音频流式传输到服务器吗

javascript - 反转 CSS3 变换矩阵

javascript - 如何在 Chrome/IE 中获取 "true"计算的 CSS 宽度

css - 响应式媒体查询在 Google Chrome 中不起作用