重複の可能性:
jQuery メモリ リークの疑い
タブを開いたままにしておくと、ウェブサイトの速度がどんどん遅くなることに気付きました。Chrome のタスク マネージャーを使用して、問題を絞り込みました。
次のコード行が呼び出されるたびに、メモリ使用量が増加します。
$jquery.post(url, params);
このコードを 1 秒のタイマーで実装したところ、数分でメモリ使用量が 30MB から 250MB になりました。この 1 行のコードだけをコメントアウトすると、問題が解決します。この 1 行だけをコメントアウトしていることに注意してください。私はまだ URL とパラメーターを生成させます。したがって、問題は間違いなくこのコード行に関係しています。実行するたびに、約 2MB のメモリが消費されます。
明らかに何らかのメモリリークがあります。結果のキャッシングまたは JSON デシリアライゼーションと関係があると思います (JSON の結果はかなり大きくなる可能性があります)。
誰でも回避策や解決策を提供できますか? ガベージ コレクションを強制するだけでも問題ありません。FWIW、メモリ使用量は時折減少しますが、それほどではありません (ガベージ コレクション?)。300MB から 250MB に減少したのを見たばかりですが、現在は再び少しずつ増加しています。
より具体的には、コードは次のようになります...
...
init: function()
{
setInterval(function(){ SManager.updateAll(); }, 1000);
},
updateAll: function()
{
var url = SManager.SERVER_URL;
var params = new Object();
params.version = 1;
params.platform = 'web';
$jquery.post(url, params);
},
ありがとう!