【发布时间】:2014-09-26 15:21:42
【问题描述】:
我有一个 ajax/pushstate 网站,它通过 ajax 加载数据(页面)。在 Chrome(可能还有其他浏览器)中,我注意到导航页面时内存消耗会累积,尤其是具有大量图像的页面。您可以在此处查看提及的网站: mjau-mjau.com
我知道有很多关于一般 javascript 内存泄漏和内存管理的信息,但这个问题在大多数意义上似乎与包含大量图像(通常是大图像)的页面直接相关。在页面之间导航时,就好像图像文件在其 html 上下文被替换后不会从内存中刷新一样。
有什么我可能会忽略的吗?浏览器不应该自动为已删除的 html 数据(包括图像)回收内存吗?在使用变换的页面之间转换时,它会以某种方式与 GPU 层相关吗?
欢迎提出建议。
【问题讨论】:
-
我来过这里。 IIRC 将 img
src设置为一个小的缓存图像(1px × 1px)或about:blank似乎可以解决问题。我认为一位同事发现了about:blank的问题,而是选择了轻量级图像。
标签: javascript ajax image memory memory-leaks