おそらく他の未知のものの中でLOHフラグメンテーションを含む可能性のあるいくつかの絶望的なメモリの問題に関して、ここに他の活発な質問があります。
今の私の質問は、物事を行うための受け入れられた方法は何ですか?私のアプリをVisualC#で実行する必要があり、int [4000000]に合わせて大きな配列を処理する必要がある場合、ガベージコレクターがLOHを処理することを拒否することで、どうして運命づけられないのでしょうか。
大きな配列をグローバルにすることを余儀なくされているように思われ、それらの周りに「新しい」という言葉を使用することは決してありません。そのため、関数によって渡される適切なサイズの配列ではなく、「maxindex」変数を使用した不適切なグローバル配列が残ります。
これは悪い習慣だといつも言われてきました。どのような選択肢がありますか?
曲に何らかの機能はありSystem.GC.CollectLOH("Seriously")
ますか?ガベージコレクションをSystem.GC以外にアウトソーシングする方法はありますか?
とにかく、大きな(> 85Kb)変数を処理するために一般的に受け入れられているルールは何ですか?