我创建了一个具有不同着色支持的语法(关键字,注释等)的编辑器。使用此编辑器,如果我们打开大尺寸文件(> 18 MB),它就会崩溃。我觉得这似乎是内存不足的问题。
当我打开没有语法着色(禁用)的文件时,我们使用TextEditor API打开文件,它似乎工作正常。
但是当我尝试使用相同的API并在编辑器中包含一些着色功能时,尝试打开相同的文件(> 18MB)。该应用程序已崩溃。
知道为什么会崩溃吗?
谢谢,
答案 0 :(得分:1)
这只是猜测,因为您没有显示任何代码:是否有可能每次都创建新的Color对象?
您可以尝试使用原生颜色,即display.getSystemColor(SWT.COLOR_CYAN)
或使用颜色注册表http://help.eclipse.org/helios/nftopic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/resource/ColorRegistry.html来管理您自己的颜色对象。
请记住:系统颜色可能无法手动处理!
答案 1 :(得分:0)
首先,搜索名为'hs_err_pid'的崩溃日志文件并尝试从中获取一些信息
正如你所描述的那样,你使用着色我可以想象你的手柄用尽了。如果颜色/字体/图标没有被处理,但是一直在创建,则系统会用完句柄而不能再创建新的UI组件。