Libgdx android应用程序本机(?)崩溃
我有一个奇怪的问题。我从上个星期开始每晚都用。如果我没记错的话,是从23/3开始的。 结果是我运行了一个Libgdx活动,它运行得很好。然后我完成应用程序。我再次启动libgdx活动,它崩溃了。。。这种情况经常发生,但并非总是如此。 在调试模式下,它根本不会发生。有什么想法吗?它不打印任何崩溃日志,但我认为它与此日志有关: 我的代码现在没有任何特殊功能。它只是在舞台上打印FPS 我认为可能连接的日志中有一个错误:EGL error:EGL\u BAD\u CONTEXT。 这是在上一个日志之前打印的 谢谢。完成应用程序”是什么意思?暂停(按回家键)还是毁灭 我想知道这是否与LibGDX试图保留EGL上下文有关。Android的默认设置是不保留它,但如果您使用的是SDK>=11,则LibGDX会尝试启用它。您可以尝试在AndroidApplication子类中禁用保存,方法如下:Libgdx android应用程序本机(?)崩溃,libgdx,Libgdx,我有一个奇怪的问题。我从上个星期开始每晚都用。如果我没记错的话,是从23/3开始的。 结果是我运行了一个Libgdx活动,它运行得很好。然后我完成应用程序。我再次启动libgdx活动,它崩溃了。。。这种情况经常发生,但并非总是如此。 在调试模式下,它根本不会发生。有什么想法吗?它不打印任何崩溃日志,但我认为它与此日志有关: 我的代码现在没有任何特殊功能。它只是在舞台上打印FPS 我认为可能连接的日志中有一个错误:EGL error:EGL\u BAD\u CONTEXT。 这是在上一个日志之前打
View view = ((AndroidGraphics)Gdx.graphics).getView();
try {
Method method = null;
for (Method m : view.getClass().getMethods()) {
if (m.getName().equals("setPreserveEGLContextOnPause")) {
method = m;
break;
}
}
if (method != null) {
method.invoke((GLSurfaceView20)view, false);
}
} catch (Exception e) {
}
我发现了问题。在我从清单中的应用程序标记中删除hardwareAccelaration=“true”后,问题消失了。我不知道为什么这很重要,因为我的设备是4.0.4,这意味着它在默认情况下是启用的。您是否对所有内容都调用dispose?是的。实际上,这只是一个需要处理的舞台。你应该拥有更多的一次性物品,而不仅仅是一个舞台。Mali是GPU系统的一部分,当您试图在GPU系统中执行某种类型的锁定操作时,您正在崩溃。释放所有东西-看,我没有任何其他东西要处理,因为我只是在使用标签的阶段中显示我的fps。就是这样。标签是文本,表示皮肤或位图字体。