我正在寻找一个针对Chrome的Tampermonkey注入javascript的解决方案,其中每次重新加载页面都会清除RAM的使用而不会增加它。
我正在使用Chrome开发者工具测试注入脚本 - >时间轴。每次重新加载页面时,RAM使用量都会增加。
我的javascript包含很少的jQuery AJAX调用,以及几行代码。
我尝试了所有可能的javascript重载功能,但没有一个能给我我想要的结果。
所以如果有人有想法,如何解决这个问题,我会非常感激。
答案 0 :(得分:1)
<强>更新强>
导致某些数据在页面重新加载后仍留在内存中的I've fixed a memory leak in Tampermonkey。所以也许你的问题现在已经解决了。
选择另一个标签并等待几秒钟。没有其他方法可以触发垃圾回收。
也许你可以使用这种魔法伪造一个完整的重装:
// ==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'...");
答案 1 :(得分:0)
您可能在脚本代码中有内存泄漏。有关堵塞此类泄漏的建议,请参阅this answer。
通常情况下,您无法通过设计清除javascript中的RAM。但是,如果您在查找和插入用户脚本中的内存泄漏(可能在目标页面上)是硬核,您可以获取/构建Chrome的调试版本,然后查看this answer以了解如何允许javascript到强制垃圾收集。