[解決済み] ページのメモリ使用量を調べるためのjQueryまたはjavascript
質問
Web ページや jquery アプリケーションで使用されているメモリの量を調べる方法はありますか?
以下は私の状況です。
私は、JSONでデータを提供するjqueryフロントエンドとrestfulバックエンドを使用して、データ量の多いWebアプリケーションを構築しています。 ページは一度ロードされ、その後、すべてはajaxを介して行われます。
UI はユーザーに UI 内に複数のタブを作成する方法を提供し、各タブはたくさんのデータを含むことができます。作成できるタブの数を制限することを検討していますが、メモリ使用量がある閾値を超えた場合にのみ制限するのが良いと考えていました。
回答に基づいて、私はいくつかの明確化を行いたいと思います。
- 私のアプリケーションがユーザーのブラウザーのメモリ使用量に基づいてアクションを決定できるように、ランタイムのソリューション (開発者ツールだけではなく) を探しています。
- DOM 要素またはドキュメント サイズを数えることは良い推定かもしれませんが、イベント バインディング、data()、プラグイン、およびその他のインメモリ データ構造を含まないため、非常に不正確である可能性があります。
どのように解決するのですか?
2015年最新情報
2012年当時は、使用されているすべての主要なブラウザをサポートしたい場合、これは不可能でした。残念ながら、今現在はまだ
Chrome のみ
の機能です (非標準の拡張機能である
window.performance
).
window.performance.memory
ブラウザのサポート Chrome 6 以上
2012年の回答
<ブロッククオートWebページまたは私のjqueryアプリケーションによって使用されているメモリの量を調べる方法はありますか?私のアプリケーションがユーザーのブラウザのメモリ使用量に基づいてアクションを決定できるように、(開発者ツールだけでなく)ランタイムのソリューションを探しています。
シンプルですが正しい答えは ではありません。 . すべてのブラウザーがそのようなデータを公開しているわけではありません。そして、私は、単に複雑で不正確な "handmade" の複雑さと不正確さが、解決するよりも多くの問題を引き起こす可能性があるからです。
<ブロッククオートDOM 要素またはドキュメント サイズを数えることは良い推定かもしれませんが、イベント バインディング、data()、プラグイン、およびその他のインメモリ データ構造を含まないため、非常に不正確である可能性があります。
もしあなたが本当に自分の考えに固執したいのであれば、固定コンテンツと動的コンテンツを分けるべきです。
固定コンテンツはユーザーの操作に依存しない(スクリプトファイルやプラグインなどで使用されるメモリ)。
それ以外はすべて動的と見なされ、制限を決定する際に主な焦点となるべきです。
しかし、それらを簡単にまとめる方法はありません。を実装すればいいのです。 トラッキング システムを実装することができます。すべての操作は、適切なトラッキングメソッドを呼び出す必要があります。
ラップまたはオーバーライト
jQuery.data
メソッドで
トラッキング
システムに通知します。
コンテンツの追加や削除も追跡できるように、html操作をラップする (
innerHTML.length
が最良の推定値です)。
大きなインメモリオブジェクトを保持している場合、それらも監視する必要があります。
イベントバインディングについては イベントデレゲーション とすると、ある程度固定された要素とも考えられます。
メモリ要件を正しく見積もることを難しくしているもうひとつの側面は、異なるブラウザが異なるメモリを割り当てる可能性があるということです (JavascriptオブジェクトとDOM要素に対して)。
関連
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] JSXとLoadshを使用して、ある要素をn回繰り返す方法
-
[解決済み] react-routerのハッシュフラグメントからクエリパラメータを取得する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScript で範囲を作成する - 奇妙な構文
-
[解決済み] Google maps API V3 - 同一地点に複数のマーカーを設置する。
-
[解決済み] javascript の関数から `undefined` と `null` のどちらを返すのが良いのでしょうか?
-
[解決済み] アサインの左側にJavascriptのオブジェクトブラケット表記({ ナビゲーション } =)があります。
-
[解決済み] 兄弟ノードを選択する方法はありますか?
-
[解決済み] JavaScriptで:hoverのCSSプロパティを変更する
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。
-
[解決済み] これは純関数ですか?
-
[解決済み] 変異を伴わないオブジェクトからの値の削除
-
[解決済み] JavaScriptデータフォーマット/プリティプリンタ