铬';s内存可以';t通过使用释放';警报';javascript的应用
我的Chrome版本:OS X中的50.0.2661.94(64位) 当我在代码中调用javascript的alert或confirm时,铬';s内存可以';t通过使用释放';警报';javascript的应用,javascript,google-chrome,Javascript,Google Chrome,我的Chrome版本:OS X中的50.0.2661.94(64位) 当我在代码中调用javascript的alert或confirm时, chrome的内存不会起飞,但会继续增长 这是我的测试代码 脚本: window.onload =function(){ document.getElementById("confirm").onclick = doConfirm; document.getElementById("confirm2").onclick
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:
设置
设置
然后我不断按下按钮,并查看Chrome内存的活动监视器。
我还尝试了其他版本(49.0.2623.112 m)和其他浏览器(FireFox)
但同样的问题不会发生…
任何解决方案?此行为是意料之中的:无论何时使用内置方法
警报、提示、或确认,您的主UI执行线程都会停止,直到用户响应出现的框。但是,这并不能阻止Chrome(或任何浏览器)在后台执行其他继续消耗内存的任务(例如加载项、Web工作人员等)
建议不要调用上述方法,而是使用DOM呈现的输入元素来执行所需的确认、警报或提示功能。所有相关代码都应作为文本直接粘贴到问题中,而不是图像中。作为代码参考,外部链接在这里是不够的,因为它们有一种习惯,随着时间的推移会被更改或消失,这会破坏问题成为长期参考源的能力。另外,您必须解释如何测量chrome的内存将继续增长,因为这对于您是否真的发生泄漏非常重要。抱歉,伙计们,我立即更正了代码应该以文本形式发布,而不是以截图形式发布。@jfriend00好的,谢谢您的警告谢谢您的回答。但它不会发生在旧版本(ex:49)或其他浏览器上,而且我的工作经常使用它,我很困惑。