Windows では、アプリケーションが最小化されると、OS はページ ファイル内にデータを配置することにより、アプリケーションに関連付けられたメモリを解放します。他のガベージ コレクションも実行される場合があります。
Internet Explorer で JavaScript アプリを実行している場合、メモリ使用量が 60 MB から始まる場合、ブラウザを最小化するとメモリが 17 MB に減少します。最大化すると、最大40MBに戻ります
20MB の増加。
私のアプリケーションは JavaScript を多用しており、IE が参照されなくなったオブジェクトのガベージ コレクションを強制していると思われます。
JavaScript (IE のみ) を介して、次の方法でガベージ コレクションを強制できます。
CollectGarbage()
したがって、このメソッドを (画面を最小化せずに) 呼び出すと、1 メガまたは 2 メガしか回収できません。
これをイベント キュー経由で呼び出すと、次のようになります。
setTimeout(CollectGarbage, 1000)
私は約3メガを回収します
私のアプリケーションは終日実行するように設計されているため、メモリ管理は非常に重要です。
IE のメモリを手動で縮小するのと同じ程度に強制的にクリーンアップする方法を知っている人はいますか?
プログラムでブラウザを最小化するという提案は、嘲笑されるでしょう!
乾杯 :)