1

私は、Facebook Like Buttonsをプログラムで作成する必要がある純粋なJavascriptアプリケーション(RSSニュースリーダー)に取り組んでいます。残念ながら、これは実行可能ではありません。「いいね」ボタンを繰り返し作成すると、短時間で大量のメモリがリークするためです。

問題を示すjsFiddleを作成しました(jsFiddleタブのメモリ消費量が継続的に増加し、回復しないことを確認してください)。これを防ぐ方法についての提案をいただければ幸いです。

PS:皮肉なことに、Google+の「いいね」ボタンにも同じ問題があります。

4

1 に答える 1

0

問題は、1000 ミリ秒のタイムアウトがガベージ コレクターの実行時間を与えないことだけです。

これをプロファイリングしてみてください: http://jsfiddle.net/G2qkc/4/

タイムアウトは 20 回ごとに 10 秒長くなります。少なくとも私のマシンでは、GC に息を吹き込む機会を与えると、メモリが再利用されます。

あなたのアプリはおそらく問題ありません。テストに不備があったようです。

于 2012-06-25T23:20:33.553 に答える