大量のメモリを消費するアプレットがあります。ユーザーがアプレットを含む Web ページで複数のタブを開くと、OutOfMemoryException が発生します。これは、ブラウザーが仮想マシンの 1 つのインスタンスのみを使用するという事実によって説明できます。これを防ぐ方法はありますか?
OutOfMemoryException は (ほぼ) どこでも発生する可能性があるため、実際にはキャッチできません...
大量のメモリを消費するアプレットがあります。ユーザーがアプレットを含む Web ページで複数のタブを開くと、OutOfMemoryException が発生します。これは、ブラウザーが仮想マシンの 1 つのインスタンスのみを使用するという事実によって説明できます。これを防ぐ方法はありますか?
OutOfMemoryException は (ほぼ) どこでも発生する可能性があるため、実際にはキャッチできません...
アプレットで多くのタブを開くことが標準的な使用例であると仮定すると、アプレットのプロファイリングを行って、削減できるものを確認することをお勧めします。アプレットを非常に効率的に実行する必要があります。
また、アプレットのライフサイクル メソッドをより有効に使用することもできます。アプレット ページがフォーカスを失うと、アプレットの stop() メソッドが呼び出されると思います。アプレット ページが表示に戻ったら、start() を呼び出す必要があります。アプレット ストリームの永続性を使用して、実行中のデータをさまざまなタブ間で共有し、stop() で保存して start() で再度読み込むことができます...これが優れたソリューションであるかどうかはわかりませんが、うまくいく可能性があります。
「できるから」以外に、ユーザーがアプレットを実行しているタブをたくさん持つ正当な理由はありますか? それが単なるテスト ケースである場合は、できる限りのことを行い、問題を文書化することをお勧めします。
幸運を。