1

ホームボタンを押してゲームに再び入ると再開できるコードを含むglsurfaceviewレンダラーがあり、それは正常に機能しますが、戻るボタンでゲームを閉じてゲームに再度入るとクラッシュしますそして閉じます。私は OnDestroy で finish() を書いてみましたが、うまくいきません。戻るボタンを押したときに onDestroy() が実行されることを確認しました。onSurfaceCreated には、テクスチャをロードし、それらのテクスチャを描画するための頂点を設定する関数がありますが、何が起こっているのかわかりません

編集:

これは、ゲームを 2 回目に起動し、前に閉じた後のログです

05-08 20:30:41.069: I/GLThread(6272): noticed surfaceView surface lost tid=12
05-08 20:30:41.069: I/GLThread(6272): onResume tid=12
05-08 20:30:41.169: I/GLThread(6272): noticed surfaceView surface acquired tid=12
05-08 20:30:41.169: W/EglHelper(6272): start() tid=12
05-08 20:30:41.219: W/EglHelper(6272): createContext com.google.android.gles_jni.EGLContextImpl@4056d398 tid=12
05-08 20:30:41.219: I/GLThread(6272): noticing that we want render notification tid=12
05-08 20:30:41.219: W/GLThread(6272): egl createSurface
05-08 20:30:41.219: W/EglHelper(6272): createSurface()  tid=12
05-08 20:30:41.219: W/GLThread(6272): onSurfaceCreated
05-08 20:30:41.219: W/GLThread(6272): onSurfaceChanged(480, 320)
05-08 20:30:41.379: W/EglHelper(6272): destroySurface()  tid=12
05-08 20:30:41.389: W/EglHelper(6272): finish() tid=12
05-08 20:30:41.389: W/dalvikvm(6272): threadid=9: thread exiting with uncaught exception (group=0x40018578)
05-08 20:30:41.389: E/AndroidRuntime(6272): FATAL EXCEPTION: GLThread 12
05-08 20:30:41.389: E/AndroidRuntime(6272): java.lang.NullPointerException
05-08 20:30:41.389: E/AndroidRuntime(6272):     at glfg.gl.render.setverticesSquare(render.java:180)
05-08 20:30:41.389: E/AndroidRuntime(6272):     at glfg.gl.render.onSurfaceChanged(render.java:475)
05-08 20:30:41.389: E/AndroidRuntime(6272):     at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1381)
05-08 20:30:41.389: E/AndroidRuntime(6272):     at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1138)
05-08 20:30:41.399: I/GLThread(6272): onPause tid=12

プロセスを強制終了すれば問題なく再度入ることができますが、戻るボタンで終了し、再起動しようとするとクラッシュし、アプリが完全に閉じられるはずですが、そうではないようです

4

1 に答える 1

1

あなたのエラーはここにあります:

05-08 20:30:41.389: E/AndroidRuntime(6272): java.lang.NullPointerException
05-08 20:30:41.389: E/AndroidRuntime(6272):     at glfg.gl.render.setverticesSquare(render.java:180)

glfg.gl.render.setverticesSquare の 180 行目。これはコードの一部ですか? その行を見て、null になる可能性のあるオブジェクトを確認するか、できればブレークポイントを使用して検査します。

于 2012-05-09T02:52:22.443 に答える