JOGL没有自动释放池

时间:2012-06-03 15:17:50

标签: java opengl system jogl nsautoreleasepool

我尝试将JOGL添加到我的项目中,经过很长一段时间搜索网络后,我找到了解决方案。我将jar添加到我的构建路径中,Eclipse识别它们 我想测试它,所以从这里获取代码:https://sites.google.com/site/justinscsstuff/jogl-tutorial-2并编译。
AWT-way给了我这个结果:

2012-06-03 18:20:44.623 java[1481:903] [Java CocoaComponent compatibility mode]: Enabled
2012-06-03 18:20:44.626 java[1481:903] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000
2012-06-03 18:20:46.253 java[1481:903] *** __NSAutoreleaseNoPool(): Object 0x102034900 of class NSConcreteMapTableValueEnumerator autoreleased with no pool in place - just leaking
2012-06-03 18:20:46.259 java[1481:903] *** __NSAutoreleaseNoPool(): Object 0x10209e3f0 of class __NSCFDate autoreleased with no pool in place - just leaking
2012-06-03 18:20:46.259 java[1481:903] *** __NSAutoreleaseNoPool(): Object 0x10209cbd0 of class NSCFTimer autoreleased with no pool in place - just leaking
2012-06-03 18:20:46.301 java[1481:d703] *** __NSAutoreleaseNoPool(): Object 0x10015e990 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-06-03 18:20:46.301 java[1481:d703] *** __NSAutoreleaseNoPool(): Object 0x100121720 of class NSConcreteValue autoreleased with no pool in place - just leaking
2012-06-03 18:20:46.302 java[1481:d703] *** __NSAutoreleaseNoPool(): Object 0x10011c2f0 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-06-03 18:20:46.302 java[1481:d703] *** __NSAutoreleaseNoPool(): Object 0x1001ba750 of class NSConcreteValue autoreleased with no pool in place - just leaking
2012-06-03 18:20:46.302 java[1481:d703] *** __NSAutoreleaseNoPool(): Object 0x100157e70 of class NSCFDictionary autoreleased with no pool in place - just leaking

我找不到有同样问题的人。我确实发现其他人有同样的错误,但没有相同的原因 NEWT-way给了我一个白色方块,“没有响应”,我必须强制停止它(Apple-key + alt + esc)。
我的光标变为等待光标。虽然设计很好,但我宁愿摆脱它 我该怎么解决这个问题?我在Mac上使用Eclipse。 OS 10.6.8。

编辑:

感谢Clint,前两行已经消失,但它仍然在泄漏......

编辑2:

解决了!

2 个答案:

答案 0 :(得分:4)

如果您的类路径中有swt.jar但未使用它,则应将其删除。

答案 1 :(得分:1)

我摆脱了错误,毕竟这是非常愚蠢的。我几天前找到了解决方案:使用-Djava.awt.headless=true terminal命令设置java。但是,我不知道如何在Eclipse中执行此操作,因此我尝试将其放入Program Arguments中,我现在意识到,这非常愚蠢。将它放入JVM参数帮助并解决了问题,我现在遇到了下一个问题。我希望这有助于其他人遇到同样的问题。