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

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

两个值得一读的链接…

资源泄漏:检测,查找和修复您的泄漏GDI代码

GDI资源泄漏

我个人使用IARSN TaskInfo来查看我的程序使用的句柄数,包括GDI。 至于降低活动句柄的数量,那么我会看看你的应用程序正在使用句柄。

像(但不限于):

  • 位图
  • 控制(我不认为他们都使用手柄)

你有太多的手柄,甚至可能是手柄泄漏的具体问题?

你不需要任何工具。 只要用win32 api阅读GDI句柄表即可

我写了一个工具来跟踪资源泄漏。 它托管在谷歌代码上 。 尽管它是一个本地库,但我相信它也可以用来追踪.NET代码中的泄漏。

希望能帮助到你。

跟踪GDI句柄,我会建议从Nirsoft的GDIView 。 这是一个免费软件,可以显示每种类型(笔,画笔,位图,字体,DC,…)有多少个GDI句柄。

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

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