Libgdx AndroidApplication native(?) crash



我有一个奇怪的问题。我使用上周的每晚。如果我没记错的话,它是从 23/3 开始的。发生的情况是我运行了一个 Libgdx 活动并且运行良好。比我完成应用程序。我再次启动libgdx活动,但它崩溃了...这种情况经常发生,但并非一直发生。在调试模式下,它根本不会发生。有什么想法吗?它不会打印任何崩溃日志,但我认为它与此日志有关:http://pastebin.com/3BFrjbES

我的代码现在没有做任何特别的事情。它只是在一个阶段中打印FPS。

我认为日志中可能存在可能连接的错误:EGL 错误:EGL_BAD_CONTEXT。这是在上一个日志之前打印的。

谢谢。

"完成应用"是什么意思?暂停(按回家)还是破坏?

我想知道这是否与 LibGDX 试图保留 EGL 上下文有关。Android 的默认设置是不保留它,但如果您使用的是 SDK>= 11,LibGDX 会尝试启用它。您可以尝试通过执行以下操作来禁用AndroidApplication子类中的保留:

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) {
}

我发现了问题所在。从清单中的应用程序标记中删除硬件加速="true"后,问题消失了。我不知道为什么这很重要,因为我的设备是 4.0.4,这意味着默认情况下它已启用。

最新更新