2

現在、単一ページに最大 10 個の個別の Soundcloud iFrame を埋め込む単一ページ バックボーン アプリを構築しています。その後、ユーザーは他のページを表示できます。各ページには、独自の iFrame のセットが含まれています。

iframe の新しいセットが読み込まれるたびに、タブのメモリ消費量が約 80 ~ 100 MB 増加することに気付きました (Chrome タスク マネージャーによる)。このメモリは決して解放されないため、数回クリックすると、タブは簡単に 300MB に達し、耐えられないほど遅くなります。この速度低下は、Chrome 20 と Firefox 13 の両方で発生します。

ページを変更するたびに、すべての iframe を .remove() して、.html('') を介してコンテナー要素をクリアしようとしましたが、どちらもメモリの増加を妨げません。

この Gist で提供されているのは、上記と同じ動作を示すサンプル コードです。読み込みごとに、個々の iFrame は約 10MB の追加メモリを消費します。 https://gist.github.com/3202151

Soundcloud 埋め込みコードは、iframe へのハンドルを維持し、それが GC されるのを防ぐために何かをしていますか? DOM から要素を削除してメモリの膨張を回避する別の方法はありますか?

注: 埋め込まれているトラックは自分のものではないため、すべてのトラックを一度にロードできる単一のセットに追加することはできません。

4

1 に答える 1