1

ページをリロードするたびにRAMの使用量がクリアされ、増加しない、Chrome用のTampermonkeyを使用して挿入されたjavascriptのソリューションを探しています。

Chrome Developer Tools->Timeline を使用して、注入されたスクリプトのテストを行っています。ページをリロードするたびに、RAM 使用量が増加します。

私の JavaScript には、jQuery AJAX 呼び出しと数行のコードが含まれています。

可能なすべてのJavaScriptリロード機能を試しましたが、希望する結果が得られませんでした。

誰かがそれを解決する方法を知っているなら、私は本当に感謝しています.

4

2 に答える 2

1

更新:
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'...");
于 2012-12-11T22:39:09.593 に答える
0

スクリプト コードでメモリ リークが発生している可能性があります。このようなリークのプラグインに関するアイデアについては、この回答を参照してください。

通常、設計上、JavaScript から RAM をクリアすることはできません。ただし、ユーザースクリプト (およびおそらくターゲットページ) でメモリリークを見つけてプラグインすることに熱心な場合は、Chrome のデバッグバージョンを取得/ビルドしてから、javascript がガベージコレクションを強制できるようにする方法についてこの回答を参照してください。 .

于 2012-12-12T13:46:01.947 に答える