SWT 和 JFace 提供了几个不同的类,帮助您在几个缓存中管理 GDI 资源。缓存往往比您想的更灵巧。如何以及何时使用缓存并不总是显而易见的。设计时应该注意的几个问题是:
- GDI 泄漏总是不可接受的,必须进行处理。
- 处理完泄漏后,您应该考虑下面两个问题:
- 应用程序需要的总共的 GDI 资源数目。
- 创建这些资源导致的开销。
您需要清醒地了解应用程序所需要的总共的 GDI 资源数目,以及有多少资源是副本。副本相当重要,因为您只要有可能就应该共享 GDI 资源以便降低应用程序使用的资源数目。很容易创建副本,而且您可以都没有意识到(我曾修改了 Sleak 工具使之发现副本,并将此改变以及其他有用的改变添加到 Eclipse 中。)