0

アプリケーションでリークを処理する必要があります。

アプリケーションでいくつかのビューアをテストして、約 200 回の開閉を行ったところ、ハンドル数が約 200 であることがわかりました。

同じビューアの場合、メモリ使用量は一定であり、GDI カウントも一定です。

問題は、ハンドルが毎回増加していることですが、一定ではありません。5 ずつ増加する場合もあれば、1 ずつ増加する場合もあれば、減少する場合もあります。GDI リークのように一定の増加は見られませんでした。

アプリケーションに登録されているすべてのイベントのサブスクライブを既に解除し、アプリケーションで使用されているすべてのコントロールも破棄しました。以前は、アプリケーションにもメモリ リークがありました。すべてのコントロールを破棄した後も、一定のままです。

では、この場合に確認する必要がある他のすべてのことは何ですか。メモリ/GDI カウントは一定ですが、ハンドルは増加するだけなので、少し混乱します。

任意の提案をいただければ幸いです。

4

1 に答える 1

1

Process Explorerなどのツールを使用して、プロセスが開いているハンドルを調べます。リストからプロセスを選択し、[表示] > [下部ペイン ビュー] > [ハンドル] に移動します。デフォルトでは、下部ペインには名前付きハンドルのみが表示されます。[表示] > [名前のないハンドルとマッピングを表示] に移動して、それらをすべて表示できます。

于 2013-07-26T05:23:01.687 に答える