一度に何時間も実行する必要がある診断ツールを作成していますが、アプリケーションを数時間実行した後に CheckedListBox から項目を削除しようとすると、不思議なメモリ不足例外が発生します。
最初は を使用してcheckedListBox.Items.Clear();
みましたが、グーグルで調べた後、代わりに次のようなものを試しました。
for (int i = checkedListBox.Items.Count - 1; i >= 0; i--)
{
checkedListBox.Items.RemoveAt(i);
}
残念ながら、上記は問題を解決しませんでした。MSDN フォーラムでそのアイデアを見つけましたが、今朝もリンクを見つけることはできません。ただし、そのフォーラムでは、誰かがアプリケーションのプロファイリングを行ったところ、メモリ リークがCheckedListBox.Items.Clear()
.
機能的な回避策を知っている人はいますか?
EDIT: FingerTheCatの答えは一時的に私たちの問題を解決したので、今のところ答えとしてマークします. ただし、実際の問題を見つけようと、コードをくまなく調べ始めました。残念ながら、現在の実装は大部分がスパゲッティ コードであるため、何かが見つかるまでには数日かかる可能性があります。