使用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图书管理系统,该压缩包内包含项目源码,页面的图片,oracle数据库脚本以及项目的演示视频。(如有需要,也可私聊我哦)
我首先查阅了《Eclipse从入门到精通》(第一版)的第273页,遗憾的是陈刚老师使用的是Eclipse3.0.1,而我使用的是Eclipse3.2,plugins目录下的jar包名称大相径庭,看来只好自力更生了,我采用的方法是照猫画虎和反复...
不知道为什么我前天怎么也发不上去,重发一遍。...http://download.csdn.net/source/1134058第一卷; http://download.csdn.net/source/1134083第二卷; http://download.csdn.net/source/1134104第三卷!
不知道为什么我前天怎么也发不上去,重发一遍。...http://download.csdn.net/source/1134058第一卷; http://download.csdn.net/source/1134083第二卷; http://download.csdn.net/source/1134104第三卷!
不知道为什么我前天怎么也发不上去,重发一遍。...http://download.csdn.net/source/1134058第一卷; http://download.csdn.net/source/1134083第二卷; http://download.csdn.net/source/1134104第三卷!
这是2011年达内刘苍松老师讲解的第一小项目,给需要的朋友,资料都是内部的!我q963780015,欢迎IT朋友加我,令出售各种达内c java安卓,传智播客视频教程等等! Swing 1 历史 1.1 SUN Jdk1.1 AWT, 控件很少, 不...
第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、...
第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、...
第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平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、...
第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、...
第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、...
第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、...
1 平台(Platorm):平台运行库(Platform run-time)是内核 2 工作区(Workspace):负责管理用户资源,创建的项目、那些项目中的文件,以及文件变更和其他资源。 3 工作台(Workbench):提供用户界面 4 ...
ViewNames 用于修改文件名称的软件 可以把从CSDN上下载的文件名称恢复成原来的名子 从CSDN资源上下载的资料名称...这个软件是我第一次使用SWT来开发的,可能会有BUG,希望大家见谅。 开发环境Eclipse 3.4,SWT,JDK 1.5
当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。 QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...
第1章 初识MyEclipse 1 1.1 MyEclipse简介 1 1.2 MyEclipse的安装 1 1.2.1 JDK的安装与配置 1 1.2.2 MyEclipse 7.0的安装和运行 4 1.3 获取和阅读MyEclipse帮助文档 5 1.4 本章小结 5 第2章 MyEclipse集成开发环境的...
《Eclipse RCP与Spring OSGi:技术详解与最佳实践》共分3个部分:基础篇(第1-5章)详细介绍了与Eclipse RCP相关的一系列核心概念、Eclipse RCP开发环境的搭建,以及SWT、JFace、Forms、Nebula和WindowBuilder等...
第1章 Dreamweaver 8概述 第2章 网页中的文字、图像和导航条 第3章 框架、表格、层与网页布局 第4章 表单、样式表与网页中的其他对象 第5章 时间轴和行为 第6章 模板、命令、“资源”面板和外部插件 第7章 站点与...