質問

GDIウィンドウハンドルを追跡して下げる最適な方法は何ですか。 。

役に立ちましたか?

他のヒント

個人的に IARSN TaskInfo を使用して、プログラムが使用するハンドルの数を確認します(GDIを含む) 。アクティブなハンドルの数を減らすことに関しては、アプリケーションで何がハンドルを使用しているかを見ます。

次のようなもの(ただし、これらに限定されません):

  • ペン
  • ビットマップ
  • コントロール(すべてがハンドルを使用するとは思わない)

ハンドルが多すぎるという特定の問題、またはハンドルリークがありますか?

ツールは必要ありません。 win32 APIを使用してGDIハンドルテーブルを読むだけです

しばらく前に、リソースリークを追跡するツールを作成しました。 googleコードでホストされています。ネイティブライブラリですが、.NETコードのリークを追跡するためにも使用できると思います。

役立つことを願っています。

GDIハンドルを追跡するには、 NirsoftのGDIView をお勧めします。これは、各タイプ(ペン、ブラシ、ビットマップ、フォント、DCなど)からのGDIハンドルのプロセス数を表示できるフリーウェアです。

エンドユーザーのマシンで現在の使用状況を確認する最も簡単な方法は、タスクマネージャーを使用して、「GDIハンドル」列を確認することです

GDIハンドルリークがあると思われる場合、リークシナリオを1回実行し、ガベージコレクションを強制し、タスクマネージャーを確認し、gcを使用してアクションを再度実行し、違いを確認します。見つかった場合は、.Netプロファイラー(SciTech製)を使用しました。これにより、どのオブジェクトがリークの原因であり、なぜそれが返されないのかを詳細に表示できます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top