`
soleegn
  • 浏览: 143714 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
阅读更多
     使用SWT做开发的朋友,一定要注意~资源是一个杀手!对于我们这些无知的开发人员,使用了资源,不释放它,比不写程序或者不提供这个功能还可怕~因为它经不起考验,到了时间肯定完蛋!
     前两个天就遇到了这个,同事写了一个插件,一次性从数据库中取得1W以上的数据然后组织成树表格,显示给客户~取得数据的速度,树组装的速度,树展开的速度,都做了反复的优化,一切优化完成以后,就宣布完成!但是没有测,当我连续打开4个树以后,程序就非掉了~
    我先加大rcp的启动内存,没用!疯狂调用cg,没用!而且这中错误错的很奇怪,如果是内存异常,应该是JVM报出的,但是这次不是,仔细阅读异常,竟然是SWT打开图片,颜色,字体的时候的异常~肯定是资源问题了!
   因为以前一直再用Jface的treeviewer组件,所以一直没有关心资源的问题~但是1W的数据,使用的SWT的原生Tree组装的~而且还用了一些字体~
排查代码,竟然发现有字体被new出,但是没有释放~问题就出在这里~
   调用了

Font font = new Font (display, "Courier", 10, SWT.NORMAL);

那么就应该在不在需要这个Font的时候调用

font.dispose();

两个原则:
第一条是"谁占用,谁释放",第二条是"父构件被销毁,子构件也同时被销毁"。
分享到:
评论

相关推荐

    swt资源释放问题

    Display 实例的创建可以使用 getDefault() 方法,第一次调用将创建一个新的 Display 实例,后续调用将获取已经创建的 Display 实例。getCurrent() 方法可以获取当前线程对应的 Display 实例。 需要注意的是,一个...

    第一个java项目-图书管理系统(swt)

    此资源为swt图书管理系统,该压缩包内包含项目源码,页面的图片,oracle数据库脚本以及项目的演示视频。(如有需要,也可私聊我哦)

    SWT入门.docx

    这段代码创建了一个200x100像素的窗口,显示文本"第一个 SWT 窗口",并保持窗口活动直至用户关闭。`readAndDispatch()`和`sleep()`的循环确保了程序能够及时响应用户的交互事件。 总的来说,SWT提供了一种强大的...

    给SWT打包部署应用的一些经验

    我首先查阅了《Eclipse从入门到精通》(第一版)的第273页,遗憾的是陈刚老师使用的是Eclipse3.0.1,而我使用的是Eclipse3.2,plugins目录下的jar包名称大相径庭,看来只好自力更生了,我采用的方法是照猫画虎和反复...

    重发SWT_Designer_v6.9.0_for_Eclipse3.4(第一卷)

    不知道为什么我前天怎么也发不上去,重发一遍。...http://download.csdn.net/source/1134058第一卷; http://download.csdn.net/source/1134083第二卷; http://download.csdn.net/source/1134104第三卷!

    重发SWT_Designer_v6.9.0_for_Eclipse3.4(第二卷)

    不知道为什么我前天怎么也发不上去,重发一遍。...http://download.csdn.net/source/1134058第一卷; http://download.csdn.net/source/1134083第二卷; http://download.csdn.net/source/1134104第三卷!

    重发SWT_Designer_v6.9.0_for_Eclipse3.4(第三卷)

    不知道为什么我前天怎么也发不上去,重发一遍。...http://download.csdn.net/source/1134058第一卷; http://download.csdn.net/source/1134083第二卷; http://download.csdn.net/source/1134104第三卷!

    达内2011年在线测评系统5天全部源码ELTS_day01-day05

    这是2011年达内刘苍松老师讲解的第一小项目,给需要的朋友,资料都是内部的!我q963780015,欢迎IT朋友加我,令出售各种达内c java安卓,传智播客视频教程等等! Swing 1 历史 1.1 SUN Jdk1.1 AWT, 控件很少, 不...

    Eclipse插件开发 学习笔记 第一篇 开发基础(06-10).rar

    第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、...

    Eclipse插件开发 学习笔记 第一篇 开发基础(01-05).rar

    第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、...

    Eclipse_Swt_Jface_核心应用_部分19

    第1章 Java语言的GUI历史 2 1.1 最初的AWT 2 1.2 Swing工具包 3 1.3 Eclipse的诞生 3 1.4 Eclipse贡献SWT工具包 5 1.4.1 SWT的结构 6 1.4.2 SWT所支持的操作系统 6 1.5 Sun AWT/Swing与Eclipse SWT 7 ...

    Eclipse插件开发 学习笔记 第二篇 核心技术(17-21).rar

    第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、...

    Eclipse插件开发 学习笔记 第二篇 核心技术(11-16).rar

    第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、...

    Eclipse插件开发学习笔记 第三四篇(26-28)+原代码.rar

    第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、...

    Eclipse插件开发学习笔记 第三四篇(22-25).rar

    第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、...

    SWT(JFace)体验之图片的动态渐变效果

    首先,我们来看第一个代码段,这部分是创建渐变的基础。代码创建了一个`AlphaFadeIn`类,其中的核心在于如何生成具有动态渐变效果的图片。通过`ImageData`对象,我们可以访问并操作图片的像素数据。这里,代码读取了...

    java项目打包发行.pdf

    - 在打包过程中,源代码文件默认不会被包含,除非勾选了“导出Java源代码文件和资源”选项。 通过了解和掌握这些打包技巧,开发者能够确保Java项目在不同环境下顺利运行,实现项目的有效分发和部署。同时,对于...

    第2章 Java SWT GUI程序可视化开发环境的配置与使用.ppt

    1 平台(Platorm):平台运行库(Platform run-time)是内核 2 工作区(Workspace):负责管理用户资源,创建的项目、那些项目中的文件,以及文件变更和其他资源。 3 工作台(Workbench):提供用户界面 4 ...

    ViewNames 用于修改文件名称的软件(可以把从CSDN上下载的文件名称恢复)

    ViewNames 用于修改文件名称的软件 可以把从CSDN上下载的文件名称恢复成原来的名子 从CSDN资源上下载的资料名称...这个软件是我第一次使用SWT来开发的,可能会有BUG,希望大家见谅。 开发环境Eclipse 3.4,SWT,JDK 1.5

Global site tag (gtag.js) - Google Analytics