我有 javascript 可以创建几十个 <div>
使用 background-image:url(http://differentDomain.com/someImage.jpg)
加载图像的元素
它们都附加到 <div id = "container">
中
图像显示在屏幕上并完成 css 动画后,我删除容器:
var c = document.getElementById('container')
c.parentNode.removeChild(c);
删除后,我得到一组新图像,创建一个新容器并再次开始该过程。
问题是 - 移除容器后,页面不会清除内存,并继续在内存中无限膨胀 - 在图像中,内存在几次迭代后膨胀。
是否有更好的从 DOM 中删除的方法? 这是否与在图像上使用 css 动画有关?
最佳答案
如您的数据所示,图像位于浏览器缓存中,DOM 不包含图像。那不是它的作用。可能您在您的网站上实现了缓存。从内存中删除它们的唯一方法是首先不将图像作为可缓存的提供,让浏览器自行删除它们,浏览器和可能的操作系统会这样做。
在评论中,@Jacque 提出了一个关于引用的有趣观点,这可能是一个需要考虑的问题。
关于javascript - 如何从内存中清除图像 - 从 DOM 中删除后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32249982/