正确关闭后,Chrome扩展程序内容脚本可能会发生内存泄漏

时间:2019-05-31 23:03:38

标签: google-chrome google-chrome-extension

我的扩展程序存在内存问题。这是场景。在带有CMD+SHIFT+K的每个标签上,您可以打开一个视图。该视图是通过内容脚本注入的iFrame。

闲置15秒钟后,将iFrame卸下。 扩展程序首次启动时,Javascript Memory大约为 6MB 。 但是在删除之后,Javascript Memory徘徊在 14MB

这看起来像是内存泄漏,但是奇怪的是,当我删除带有此代码段的iFrame时。

const cleanIFrame = () => {
    let frames = document.querySelectorAll('#iframe-id');

    for (let i = 0; i < frames.length; i++) {
        let frameElement = frames[i];
        if (frameElement.parentNode) {
            frameElement.parentNode.removeChild(frameElement);
            frameElement = null;
        }
    }
    frames = null;
};

以下是我在任务管理器中看到的屏幕截图

仅打开一个iFrame来检查是否存在内存泄漏 enter image description here

实际情况:在不同的标签页中打开多个iframe(5-10) Javascript Memory大约 120MB enter image description here

Chrome浏览器是否无法使用GC从内存中删除iFrame?

0 个答案:

没有答案