4

元のコーダーがクライアント (JavaScript、jQuery) に多くのビジネス ロジックを配置したため、実際にメモリを大量に消費する Web アプリケーションを使用しています。そのため、ユーザーがアプリケーションで多くのオブジェクトを操作しているときに、メモリ不足が原因で Web ブラウザーがクラッシュすることがあります。

ビジネス ロジックをサーバー側に移動することは、短期的な選択肢ではありません。そこで、既存の Web ページのメモリ フットプリントをすばやく削減する方法についてネットでアイデアを探していましたが、手ぶらで出てきました。

一般的なヒントはありますか?(たとえば、JavaScript 変数の名前を短くすると、大幅な改善が得られるでしょうか?)

4

1 に答える 1

1

このビジネスロジックを実行するJavascriptコードが表示されないため、これは非常に幅広い質問です。明らかにスクリプトブロッカー/javascriptを無効にするだけでは役に立たないので、このWebサイトが制御された環境でホストされていることを願っています。私は提案するいくつかのことは次のようになると思います:

  1. すべてのJavascriptを単一の.jsファイルに入れて、それを縮小します。これは開発バージョンでは行いません。ファイルを縮小すると完全に保守できなくなるため、製品バージョンのみを使用します。詳細については、 http: //code.google.com/p/minify/を参照してください。すべてのJavascriptを1つのファイルに含めると、クライアントがスクリプトをダウンロードするために必要なHTTP接続の量を減らすことができます。

  2. SCRIPTタグは、ページの上部ではなく下部に配置します。これにより、クライアントのレンダリング時間が改善されます(ただし、コードがまだ存在するため、メモリ使用率は低下しません)。SCRIPTブロックの解析は、完了するまでブラウザをロックします。これらを非同期でロードすることはできません。

全体を書き直さなくてもこれを改善できる方法はたくさんありますが、リファクタリングはこの問題の「全体的な解決策」と考えています。私は基本的にこの記事からのヒントを逆流させていますhttp://developer.yahoo.com/performance/rules.html

于 2012-04-26T08:41:37.793 に答える