Javascript 是否从/为Tampermonkey清除浏览器选项卡RAM使用情况?

Javascript 是否从/为Tampermonkey清除浏览器选项卡RAM使用情况?,javascript,google-chrome,memory-management,tampermonkey,Javascript,Google Chrome,Memory Management,Tampermonkey,我正在寻找一种针对注入javascript的解决方案,该方案使用Tampermonkey for Chrome,每次重新加载页面都会清除RAM的使用,而不会增加RAM的使用 我正在用Chrome开发者工具->Timeline对注入的脚本进行测试。每次我重新加载页面时,RAM的使用量都会增加 我的javascript包含很少的jQueryAjax调用和几行代码 我尝试了所有可能的javascript重新加载函数,但没有一个能给出我想要的结果 因此,如果有人知道如何解决这个问题,我将非常感激。更新:

我正在寻找一种针对注入javascript的解决方案,该方案使用Tampermonkey for Chrome,每次重新加载页面都会清除RAM的使用,而不会增加RAM的使用

我正在用Chrome开发者工具->Timeline对注入的脚本进行测试。每次我重新加载页面时,RAM的使用量都会增加

我的javascript包含很少的jQueryAjax调用和几行代码

我尝试了所有可能的javascript重新加载函数,但没有一个能给出我想要的结果


因此,如果有人知道如何解决这个问题,我将非常感激。

更新:
这导致一些数据即使在重新加载页面后仍保留在内存中。所以也许你的问题现在已经解决了



选择另一个选项卡并等待几秒钟。没有其他方法可以触发垃圾回收

也许你可以用这个魔法来假装完全重新加载:

// ==UserScript==
// @name       fake reload
// @namespace  http://use.i.E.your.homepage/
// @version    0.1
// @description  enter something useful
// @match      http://tampermonkey.net/empty.html
// @copyright  2012+, You
// ==/UserScript==

function fake_reload() {
    console.log("...now");
    GM_openInTab(window.location.href, {active: false, insert: true});
    // close the current window some ms later to allow the insert magic to detect this' tab position
    window.setTimeout(window.close, 1);
}
window.setTimeout(fake_reload, 3000);
console.log("run 'fake reload'...");

更新:
这导致一些数据即使在重新加载页面后仍保留在内存中。所以也许你的问题现在已经解决了



选择另一个选项卡并等待几秒钟。没有其他方法可以触发垃圾回收

也许你可以用这个魔法来假装完全重新加载:

// ==UserScript==
// @name       fake reload
// @namespace  http://use.i.E.your.homepage/
// @version    0.1
// @description  enter something useful
// @match      http://tampermonkey.net/empty.html
// @copyright  2012+, You
// ==/UserScript==

function fake_reload() {
    console.log("...now");
    GM_openInTab(window.location.href, {active: false, insert: true});
    // close the current window some ms later to allow the insert magic to detect this' tab position
    window.setTimeout(window.close, 1);
}
window.setTimeout(fake_reload, 3000);
console.log("run 'fake reload'...");

脚本代码中可能存在内存泄漏。有关堵住此类漏洞的想法,请参阅


通常,您无法通过设计从javascript中清除RAM。但是,如果你对在用户脚本(可能在目标页面上)中查找和堵住内存泄漏很在行,你可以抓取/构建一个Chrome的调试版本,然后看看如何允许javascript强制垃圾收集。

你可能在脚本代码中有内存泄漏。有关堵住此类漏洞的想法,请参阅


通常,您无法通过设计从javascript中清除RAM。但是,如果你对在用户脚本(可能在目标页面上)中查找和堵住内存泄漏很在行,你可以抓取/构建一个Chrome的调试版本,然后看看如何允许javascript强制垃圾收集。

你在自己的代码中修复了内存泄漏(+1),这太好了。但部分答案包含错误信息(-1;参见我参考的答案)。我也不确定我是否喜欢“闪烁的标签”的想法。另外,请修改您的网站,以便直接链接到您引用的更改,打开一个显示该更改的页面并滚动到该页面。您在自己的代码中修复了内存泄漏(+1),这很好。但部分答案包含错误信息(-1;参见我参考的答案)。我也不确定我是否喜欢“闪烁标签”的想法。另外,请修改您的网站,以便直接链接到您引用的更改,打开一个页面,显示已经发生的更改并滚动到该页面。