跟踪和降低GD手柄的最佳方法是什么?

时间:2008-11-25 17:15:06

标签: c# windows memory gdi

跟踪和降低GDI窗口句柄的最佳方法是什么? 。

6 个答案:

答案 0 :(得分:5)

答案 1 :(得分:2)

我个人使用IARSN TaskInfo来查看我的程序使用的句柄数,包括GDI。至于减少活动句柄的数量,那么我会看看你的应用程序中使用句柄的是什么。

类似(但不限于)的事情:

  • 位图
  • 控件(我不认为所有这些都使用句柄​​)

你有一个特定的问题,手柄太多,甚至手柄泄漏?

答案 2 :(得分:1)

您不需要任何工具。 只需使用win32 api

读取GDI句柄表

答案 3 :(得分:1)

我写了一个工具来追踪资源泄漏。它托管在google code上。虽然它是一个本机库,但我相信它也可以用来追踪.NET代码中的泄漏。

希望有所帮助。

答案 4 :(得分:1)

要跟踪GDI句柄,我建议GDIView from Nirsoft。它是一个免费软件,可以显示每种类型(笔,画笔,位图,字体,DC,......)有多少GDI句柄有一个过程。

答案 5 :(得分:0)

查看最终用户计算机当前使用情况的最简单方法是使用任务管理器并查看“GDI Handles”列

当我怀疑我有GDI处理泄漏时,我倾向于在我的泄漏场景中运行一次,强制进行垃圾收集,查看任务管理器,再次使用gc运行操作并检查差异。如果我找到一个我使用过.Net Profiler(来自SciTech),它可以详细显示哪个对象导致泄漏以及为什么没有交回