Estadísticas de juegos con poca memoria

A veces, Android finaliza (o cierra) los juegos de alta fidelidad cuando el dispositivo tiene poca memoria. Android intenta usar toda la memoria disponible para almacenar en caché las apps y los juegos a fin de garantizar que se carguen rápidamente (lo que mejora la experiencia del usuario). Sin embargo, cuando la memoria se vuelve limitada, el sistema cierra las apps y los juegos que consumen más memoria a fin de liberar memoria para el funcionamiento normal del dispositivo.

La información, las estadísticas y las prácticas recomendadas que te ayudarán a lograr un mejor uso de la memoria del juego incluyen lo siguiente:

  • Usa ApplicationExitInfo: Esta API de Java/Kotlin muestra el motivo por el que el sistema Android finalizó la ejecución de juego anterior. Usa ApplicationExitInfo para verificar si la memoria insuficiente es el motivo de la detención de un proceso anterior. Verifica si el juego se cerró debido a la poca memoria para que se pueda optimizar y usar menos memoria en ese dispositivo.
  • Observa la RAM física total: Para evitar que los juegos se cierren cuando están en primer plano y para que coincidan con las capacidades del dispositivo, observa la RAM física total y ajusta el uso de la memoria del juego en función de eso. Si el objetivo es evitar que las apps se cierren poco después de pasar a segundo plano (para permitir que el jugador realice varias tareas a la vez), usa las devoluciones de llamada de trim (TRIM_MEMORY_UI_HIDDEN específicamente) para reducir el uso de memoria del juego.
  • No te registres para las devoluciones de llamada de trim obsoletas. Android no tiene ninguna API para detectar eventos de presión de memoria nativa cuando se encuentran con límites de memoria (consulta el texto destacado sobre el daemon asesino de memoria baja). Las devoluciones de llamada de recorte no fueron útiles para evitar las eliminaciones por falta de memoria, por lo que Android dejó de admitirlas todas, excepto TRIM_MEMORY_UI_HIDDEN y TRIM_MEMORY_BACKGROUND.

Daemon de optimización de poca memoria

El daemon de optimización de poca memoria de Android (lmkd) es un proceso que supervisa el estado de la memoria de un sistema Android en ejecución y reacciona a la presión de memoria alta cerrando los procesos menos esenciales para mantener el rendimiento del sistema en niveles aceptables.

El daemon puede elegir los procesos que se finalizarán sin esperar a que el proceso confirme ningún tipo de devolución de llamada. Por lo tanto, las apps y los juegos no recibirán una notificación como última oportunidad para liberar memoria antes de que se cierren.

Obtén más información sobre el daemon optimizador de memoria baja.