だから私は毎秒5MBずつメモリを増やすプログラムを持っています。アプリケーションごとに 2GB しか割り当てることができないため、プログラムを開始してから約 5 分後に制限に達し、System.OutOfMemoryException が発生しました。
私は「宿題をやった」(うまくいけば十分です:D)、ブロックの終了後、そのブロック内の変数が破棄されないことを知っています。
最終的には、OutOfMemoryException の発生を防ぐために、各ブロックの後で使用される変数からメモリを自動的に解放する方法が必要です。
PS: このトピックには多くの混乱があることを認識しているため、質問に間違いがあった場合は、お気軽に訂正してください。しかし、ほとんどの場合、この例外を邪魔にならないようにしたいと思います。
編集
さて、奇妙なことが起こりました。プロジェクト全体をデスクトップ (動作しない場所) からラップトップにコピーしました。どうやら、私のラップトップでは問題なく動作します。メモリはほとんど 500 KBps しか増加せず、1 秒後に自動的に解放されます。理由はわかりませんが、まったく同じプロジェクトであり、コードは変更されていません。
なぜこれが起こるのか知っている人はいますか?