`
banner
  • 浏览: 52601 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

How to close a viewPart in RCP

阅读更多
   前几天在工作中遇到需要通过编码将一个RCP viewpart关闭的问题:
   在界面中手动点击“X”按钮,执行GC,则viewPart instance count变为0。
   通过编码形式时,用dispose()只能将其内容清空,却不能将其关闭;IWorkbenchPage.hideView(viewPart)可以“关闭”它,而通过JProfiler看到,这个viewPart的instance还是存在,只是它内部components都被dispose了(从eclipse的sourcecode可以看到,从JProfiler中手动清理内存时,发现这个viewPart中的components回收的很慢,可能与它里面的components多有关)。此时,在打开该viewPart时,该viewPart的instance count 变成 2,再关闭viewPart,run GC后viewPart instance count又变成1。不断进行打开、关闭、回收内存操作,viewPart instance count不断在2与1间变化,目前暂时无法确切解释为什么总有一个viewPart存在内存中!
   领导追求那种手动点击“X”按钮的效果,只好在hideView()后,加了一句:viewPart=null,这样回收内存后viewPart就没了。
   不管是手动点击“X”按钮还是hideView,viewPart的dispose()方法都会运行,要在关闭时做些处理,可以考虑把代码写到dispose()里。
  
分享到:
评论
1 楼 dingding5060 2011-09-16  
您好!
我自己写了一个类继承viewpart,实现一个导航树视图,目前也是要实现手动点击“X”按钮效果后,我需要添加一段操作代码,但是我显示实现dispose方法进行关闭动作,bug调试发现没有进入我dispose方法中,请问那个 实现手动点击“X”按钮效果 的关闭动作在那里呢?谢谢

相关推荐

    Eclipse RCP程序ViewPart占位功能的实现

    效果图见http://blog.csdn.net/leopardaa521/archive/2010/08/21/5827883.aspx

    使用EclipseRCP进行桌面程序开发(三):视图和透视图

    首先我们来介绍一下视图,建立一个视图其实非常简单,只要从org.eclipse.ui.part.ViewPart继承一个类,然后在plugin.xml中进行视图的配置。其中,向视图中添加控件的操作,我们即可以手工编写,也可以使用Designer...

    Eclipse+插件开发学习笔记

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    Eclipse+插件开发学习笔记.part2

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    《Eclipse插件开发学习笔记》源码

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    eclipse 插件开发01

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    eclipse 插件开发02

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    Eclipse插件开发笔记—PDF—带目录

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    Eclipse插件开发 学习笔记(第三四章下包含源码)

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    Eclipse插件开发 学习笔记(第三四章上)

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    Eclipse插件开发基础6-10

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    Eclipse插件开发+学习笔记(完整 清晰) part1

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    Eclipse插件开发学习笔记(第一章)

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    eclipse插件开发学习笔记_教程2

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    Eclipse+插件开发 学习笔记(完整 清晰).part3.rar

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    Eclipse 插件开发 学习笔记(完整 清晰).part2.rar

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    Eclipse+插件开发 学习笔记(完整 清晰).part5.rar

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    Eclipse+插件开发 学习笔记(完整 清晰).part4.rar

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    Eclipse插件开发 学习笔记(第二章上)

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

Global site tag (gtag.js) - Google Analytics