Chrome的内存无法通过使用javascript的“警报”来释放

时间:2016-05-10 02:15:02

标签: javascript google-chrome

我的Chrome版本:OS X中的50.0.2661.94(64位)

当我拨打javascript警告或在我的代码中确认时,
chrome的内存不会起飞,但会继续增长。

这是我的测试代码。

脚本:

    window.onload =function(){
        document.getElementById("confirm").onclick = doConfirm;
        document.getElementById("confirm2").onclick = doAlert2;

    }
    var doConfirm = function(){
        var rec = confirm("test test test test test test test");
    }
    var doAlert2 = function(){
        alert("test test  test test test test test test test ");
    }

HTML: <button id="confirm">set</button> <button id="confirm2">set</button>

然后我不停地按下按钮,
并查看Chrome内存的活动监视器 我也尝试其他版本(49.0.2623.112米)和其他浏览器(FireFox)
但同样的问题不会发生......
任何解决方案?

1 个答案:

答案 0 :(得分:1)

这种行为是可以预期的:每当您使用内置方法alertpromptconfirm时,您的主UI执行线程将暂停,直到用户响应该框出现了。但是,这并不妨碍Chrome(或任何浏览器)在后台执行继续消耗内存的其他任务(例如附加组件,Web Workers等)。

防止这种情况的推荐方法是不调用上述方法,而是使用DOM呈现的输入元素来执行您需要的确认,警报或提示功能。