NeBeans模块中关闭TopComponent之后资源无法释放问题

来源:互联网 发布:贵阳大数据安全产业园 编辑:程序博客网 时间:2024/06/05 03:42

早期的NetBeans版本确实存在这个问题,后来解决了:当某个TopComponent被关闭时,如果其中的所有对象引用已经释放,那么该TopComponent会在下一次垃圾回收的时候自动释放。

 

所以编写TopComponent的时候最好重载以下函数,很有用!

 

@Override

publicvoid componentOpened() {

      // 这里可以做初始化工作

}

 

@Override

publicvoid componentClosed() {

      // 这里可以做清除工作,以便该TopComponent在下一次垃圾回收的时候能自动释放

}

 

@Override

publicvoid finalize() throws Throwable {

      // 这里可以打印调试信息检查该TopComponent是否已被释放

      System.out.println("finalize");

}

 

测试的时候,可以点击工具栏上的垃圾回收按钮强制垃圾回收,检查该TopComponent是否已被释放。