у меня есть средство визуализации glsurfaceview с некоторым кодом, который позволяет мне возобновить работу после нажатия кнопки «Домой» и повторного входа в игру, и это работает нормально, но если я закрою игру с помощью кнопки возврата и попытаюсь снова войти в игру, она вылетает. и закрыть. Я пробовал писать Finish() на OnDestroy, но не работал. я уже проверил, что onDestroy() выполняет его, когда я нажимаю кнопку возврата. в onSurfaceCreated у меня есть функции, которые загружают текстуры и устанавливают вершины для рисования этих текстур, но я не понимаю, что может происходить
редактировать:
это лог после того, как я запустил игру во второй раз, закрыв ее до этого
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
если я убью процесс, я могу войти снова без проблем, но если я выйду с помощью кнопки возврата, он вылетает, когда я пытаюсь запустить его снова, предполагается, что приложение будет полностью закрыто, но кажется, что нет