У меня есть средство просмотра glsurfaceview с некоторым кодом, который позволяет мне возобновить работу после нажатия кнопки «домой» и снова войти в игру, и это работает нормально, но если я закрою игру кнопкой возврата, снова войдите в игру, он падает и закрывается. Я пробовал писать финиш() на 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 [email protected] 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
если я убить процесс, я могу снова войти без проблем, но если я выйти с кнопкой возврата, он выходит из строя, когда я пытаюсь запустить его снова, это, как предполагается, что приложение будет закрыто полностью но кажется, что не
Никто не поймет, что может произойти, если вы не включили дамп стека из системного журнала. Опять же, если вы сначала изучите его, вы можете понять проблему, но если нет, отредактируйте свой пост, чтобы включить его, чтобы кто-то мог помочь. – mah