本文是关于在开发Talend RCP 过程中碰到一个内存溢出问题的解决方案。使用的检测软件为Eclipse Memory Analyzer (http://www.eclipse.org/mat/),是一个开源免费的内存分析工具,目前为eclipse的孵化项目,也是一个eclipse RCP.
Talend一款开源的ETL软件,提供数据集成服务。基于eclipse RCP,EMF, GEF,JET等技术开发。
在Talend软件系统中,一个designer editor 是一个mulit page editor, 它的实例是MultiPageTalendEditor,其中包含两页,第一页是一个gef Editor,用来显示GEF图形;第二页是一个JavaEditor,用来显示生成的代码。如下两图所示:
经过其他工具的测试发现JavaEditor如果用在mulit page editor中,关闭后,起实例无法回收,造成内存泄漏,因为Editor是一个非常频繁使用的功能项,所以该问题非常严重。
要使用Eclipse Memory Analyzer