Libgdx app.exit () en Android no se cierra la aplicación
En mi aplicación Android desarrollada con libGDX utilizo Gdx.app.exit()
cuando el usuario intenta salir del juego. Esto cierra el juego, pero cuando el usuario reinicia la aplicación todas las Textures
son codificadas (más allá del punto de usar la aplicación). Me di cuenta de que si forzar cerrar la aplicación de un administrador de tareas, a continuación, se reiniciará correctamente.
¿Por qué sucede?
- Cortar un cuadrado translúcido en una textura
- ¿Libgdx es utilizable para juegos 2d?
- LibGDX - Escala de imagen con relación fija
- Groovy Android y libgdx
- Crear gran Jar (escritorio) de android / escritorio gdx proyecto
- LibGDX leer archivo XML
- ¿Cómo detectar cuando un actor es tocado en libgdx?
- 'SourceSets' no se puede aplicar a la advertencia de 'groovy.lang.closure' en Android Studio
- Rotación de la cámara ortográfica
- ¿Cómo comprobar la intersección en libgdx?
- LibGDX texturepacker rotación
- ¿ClickLIstener no está trabajando en el juego de LibGdx?
- La mejor manera de detectar el objeto tocado (moviéndose) de la colección en libgdx
Ha redescubierto el desajuste entre la vida útil de los objetos Java (vinculados a la vida útil del proceso de aplicación) y la duración de los objetos de textura (vinculados a la vida del contexto de OpenGL que está vinculada a la visibilidad de la actividad).
En la "salida" de la aplicación, solo se sale de la actividad y Android almacena en caché el proceso en segundo plano. Cuando reinicies la aplicación Android solo inicia una nueva Actividad en el mismo proceso. En este caso, la actividad está encontrando un objeto de textura Java válido, pero los bytes subyacentes a los que "apunta" en el contexto de OpenGL han desaparecido (ya que el contexto OpenGL se invalida cuando la actividad ya no es visible).
La solución consiste en volver a cargar texturas en la creación de actividad. Debe asegurarse de que todos los objetos que contienen texturas (y objetos que contienen objetos que contienen texturas, etc.) están vinculados al ciclo de vida de la actividad. Generalmente esto significa evitar variables estáticas (que son parte del ciclo de vida de la aplicación), pero puede saltar a través de aros para invalidar y reinicializar globales si lo desea.
- Android – ¿Se preserva la intención durante la recreación de la actividad?
- Usando SimpleXML, cómo ignorar elementos xml que no tengo en mi clase de objeto al deserializar