我编写了一个“幻灯片放映”,它可以按顺序快速显示图像,就像定格电影一样。
显示图像后,我将不再使用它,并想将其从内存中清除以腾出空间用于新图像。但是,在 Activity Monitor 中监视 Google Chrome Helper 时,我看到内存继续稳定增加,直到浏览器崩溃。
我注意到一个作为错误提交的 chrome 垃圾收集问题,我想知道我是否正在经历这个问题?
否则,这是我根据这篇文章尝试的一个技巧示例,它可以让 Chrome 丢弃我的旧图像数据。
function ClearChunk()
{
imageSet1 = null; // garbage collect please?
imageSet1 = [];
}
function LoadNewChunk()
{
for (i=start_of_chunk;i<end_of_chunk;i++)
{
imageSet1[i-start_of_chunk] = new Image();
imageSet1[i-start_of_chunk].src = img[i];
}
}
这首先清除,然后在后台加载,同时显示另一组图像。这在当时似乎是个好主意,但在我的机器上它仍然稳定地攀升到大约 3Gb 并且...... 哦,Snap。
首先如何缓解这种猖獗的内存消耗?
任何对话或基于代码的反馈将不胜感激。