1

私のアプリケーションは、高速カメラから入ってくる約 300 MB の画像をバッファリングする必要があります。最も古い画像が破棄され、新しい画像が追加されるキューがあります。

このサイクルの性質により、多くのオブジェクトが作成され、多くのオブジェクトが破棄されます。そのすべてを処理するために ConcurrentQueues を使用しています。

アプリケーションのパフォーマンスは優れていますが、12 GB のシステム メモリが使用されるとパフォーマンスが低下し、ガベージ コレクションが作動してメモリ負荷が約 300 MB に戻ったように見えます。

その上でANTSメモリプロファイラーを実行しましたが、リークはないようです。

ここでガベージコレクションを自分で呼び出すことはできますか?

また、バイト配列を再利用して画像を保存するという考えもありますが、それはかなりの書き直しであり、残りが失敗した場合にのみそのルートに従います...

何か案は?

4

1 に答える 1