• 测试技术
  • 博客
  • 视频
  • 开源
  • 论坛
  • 沙龙
  • 下载
  • 杂志
  • 招聘

字号: | 推荐给好友 上一篇 | 下一篇

富客户机应用程序的性能,第 2 部分: 堵住内存泄漏

发布: 2008-6-26 18:03 | 作者: 不详 | 来源: 领测软件测试网编辑整理 | 查看: 26次 | 进入领测软件测试网论坛讨论

领测软件测试网 软件测试技术门户lj-^|s{ Hv

软件测试技术门户I}$E [|/?m8W"sL


Q.G[2q+At d!m|图 2. 侦听器示例 
)CSMG4B5G4{c?/h 侦听器示例 软件测试技术门户 ?z6d?}(m8O?

软件测试技术门户6bQR/C;`ux

只要从中添加侦听器的对象会及时删除,您就无需删除 JFace/SWT 侦听器。关键是理解从中添加侦听器的对象的生命周期。不管什么时候要向某个对象中添加侦听器,您都需要自问一下,侦听器被添加到哪个对象,侦听器的生命期有多长。软件测试技术门户@_"n!H}*a.oOj3q6O

[ Ns qc9X*]yX|h,C/B举例而言,假设应用程序创建了一个视图。该视图包含一个按钮。在您构建该视图时,您为按钮添加了一个选择侦听器,以便应用程序能够对按钮单击作出响应。您无需为删除按钮的侦听器而对视图添加一个删除侦听器,您也无需为按钮被撤销时删除按钮的侦听器而对按钮再添加一个删除侦听器。 SWT 会在按钮被撤销时执行对按钮侦听器的删除。您不必写这些冗余的代码和管理多余的工作。软件测试技术门户#B$cgZ[

M?XN{^#qn+tU在 RCP 应用程序中,经常会有某人创建一个视图并将其自身添加为 workbench 页侦听器。 Workbench 页往往很长寿,直到该应用程序关闭,workbench 页才会被关闭(从而清空侦听器)。在此情况下,您不应该依赖 workbench 页清空侦听器关联。您应当在视图被关闭时把该视图作为侦听器删除。