0

私はインターネット速度テストアプリケーションに取り組んでいます。このサイトでは、JavaScript を使用してインターネット速度を計算しています。大きなファイルをダウンロードすると 250Mb 以上 ブラウザがクラッシュします。(クローム、オペラ、Firefox)。すべてのテスト ファイルを DOM に保存しています。100Mbps 以上の速度の接続をテストしているときに、ブラウザーのメモリ使用量が異常に増加することがわかりました。

私の質問: ブラウザのメモリ使用量を制限する方法はありますか? または、ブラウザ DOM の使用に制限はありますか? ファイルを使用した後、それを「未定義」にすると、実際にシステムメモリからアイテムが削除されますか?

250Mb + データをダウンロードした後、このブラウザ クラッシュの問題が発生しました (次のファイルは 250Mb なので 512MB が DOM に保存されます)。

4

1 に答える 1

0

ネットワーク速度をテストするために特定のデータは必要ありません。重要なのはデータのサイズ (ここでは 250 mb) です。また、実際の速度をテストしていることを確認するために、単純なデータを使用しない (つまり、すべて 0 を使用しない、またはすばやく繰り返すパターンを使用しない) という追加の要件があります。

1 mb のランダム データ (またはアプリケーションをクラッシュさせない量) を生成し、それを 250 回送信することができます。サーバーは 250 mb のデータを認識し、何も保存する必要はありません (1 mb を除く)。

これは、速度をテストしているため機能します。データの整合性は、基礎となる TCP/IP プロトコルによって既に保証されているため、送信したデータが受信したデータと同じであることを確認する必要はありません。

JavaScript メモリの解放について: できることは、変数に別の値 ( var = null;) を割り当て、その変数への他の参照を保持していないことを確認することです。その後、ガベージ コレクションの対象となります。実装に応じて、インタプリタはそれを解放する場合としない場合があります。この時点以降、それを制御することはできません

于 2013-09-29T15:41:30.533 に答える