【问题标题】:My Android opengl app crashes after sleeping我的 Android opengl 应用程序在睡觉后崩溃
【发布时间】:2011-12-13 14:27:45
【问题描述】:

我知道这是我在从软件绘图切换到 opengl es 1.0 之前应该学习的东西,但是我一直无法找到有关该主题的任何信息...

如果有一段时间没有触摸任何东西,我的opengl应用程序在进入睡眠状态后崩溃......我想知道是不是因为我没有在它进入睡眠状态之前卸载纹理或顶点/颜色/纹理/索引缓冲区...... .我真的不确定如何做到这一点,或者即使它会有所帮助......有人可以指导我或告诉我必须重新加载,销毁等规则的快速指南吗?我真的被这一切弄糊涂了……

我不知道它是否有帮助,但我的主类扩展了 GLSurfaceView 并实现了“渲染器”,它加载了 onScreenCreated 中的所有纹理和缓冲区对象,并修复了 onSurfaceChanged 上的屏幕缩放。在主活动中(主类链接的地方)覆盖 onResume 和 onPause 调用 onResume 和 onPause openGL表面命令...

任何可能出现问题的线索都会非常有帮助...我的游戏引擎已经完成了一半的编码,但我担心像这样的故障只会停止我当前和未来的项目。

我正在使用 Froyo (android 2.2) 和 openGL ES 1.0。

从 logcat 打印出错误:

10-24 03:13:41.988:错误/AndroidRuntime(9888):致命异常:GLThread 26

10-24 03:13:41.988: 错误/AndroidRuntime(9888): java.lang.IllegalThreadStateException: 线程已经启动。

10-24 03:13:41.988: 错误/AndroidRuntime(9888): at java.lang.Thread.start(Thread.java:1322)

10-24 03:13:41.988: 错误/AndroidRuntime(9888): at or.gl.m5.Screen.onSurfaceCreated(Screen.java:161)

10-24 03:13:41.988: 错误/AndroidRuntime(9888): 在 android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1317)

10-24 03:13:41.988: 错误/AndroidRuntime(9888): 在 android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1116)

【问题讨论】:

    标签: android opengl-es android-2.2-froyo


    【解决方案1】:

    没有看到堆栈跟踪或它抛出什么样的异常,很难说什么。但无论如何,我猜测它会崩溃,因为您必须在活动恢复后重新加载纹理。一旦您的视图进入背景,您之前创建的纹理就会失效。

    【讨论】:

    • 我很想显示一些调试崩溃报告,但是每次我尝试调试我的 opengl 工作时,它只会显示一个黑屏,我没有得到任何有用的信息......关于那个的任何指针会很棒...我使用 eclipse 作为我的编译器,我通过我的设备而不是模拟器进行测试。 (如果有帮助)应该在哪里重新加载纹理?我将它们加载到“onCreateSurface”中......这是不正确的吗?我必须在重新加载之前卸载它们吗?抱歉,您的回复中的所有问题,我真的不知道我应该做什么。
    • 使用 android logcat 查看日志(从 eclipse ide 内部或从控制台)。检查级别为 ERROR 的消息,否则会很拥挤。当您的应用程序崩溃时,它应该打印出它发生的堆栈跟踪。
    • 关于纹理,你不需要卸载它们。你只需要重新加载它们onResume
    • 我添加了当应用程序从唤醒到问题帖子崩溃时弹出的 logcat 错误打印输出......它仍然只是看起来像纹理加载问题吗?澄清一下:纹理在“onSurfaceCreated”中重新加载,而不是覆盖 onResume,对吧?
    • 我刚刚修复了它...结果根本不是纹理,而是因为我将 gameThread 起点放置在 onSurfacecreated... 非常感谢您告诉我 logCat 是如何工作的,它真的很有帮助:D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多