【发布时间】:2012-12-13 11:39:55
【问题描述】:
有一个known bug in webkit,当您从 DOM 中删除图像时,它不会释放与其关联的内存。
这是经常加载图像的单页应用程序的问题。
各种建议的解决方案是:
- Remove image src attribute before removing the image from the DOM
- 在从 DOM 中删除图像之前将图像 src 设置为“”
- 在从 DOM 中删除图像之前将图像设置为单像素图像
- Create a limited number of image elements and keep recycling them
前 3 种方法对我不起作用。回收图像元素的主要缺点是它意味着编写大量代码来管理它。我正在通过 AJAX 加载可能包含图像的新 HTML,因此我不一定知道将加载的图像数量。
是否有其他解决方法来解决此问题?
【问题讨论】:
-
我认为图像池不会有那么多代码;它可以轻松支持任意数量或图像。
-
删除
src属性有什么问题? -
-
刚刚更新了我的问题 - 删除 src 属性对我不起作用。
-
如果您为每个图像手动调用 Image() 构造函数(链接错误的原因),您怎么可能不知道图像的数量。我不认为这个 bug 涵盖了使用 img 标签注入 html 的问题。
标签: javascript html webkit