Descripción general de la API de Memory Advice

La API de Memory Advice es una API nativa experimental que ayuda a las apps para Android a mantenerse dentro de los límites de seguridad del uso de memoria. Para ello, la API calcula la cantidad de recursos de memoria que se usan y, luego, notifica a la app cuando se superan ciertos límites. La API también puede informar el porcentaje estimado de uso de memoria directamente en tu app.

Las estimaciones que proporciona la API ayudan a determinar cuándo tu app debe ajustar su uso de memoria o a buscar áreas para mejorar en versiones futuras de la app. Los ajustes podrían incluir cualquier factor que cambie el consumo de memoria, como la reducción de los detalles y la calidad de los elementos visuales y de audio.

Los recursos de memoria estimados incluyen la memoria nativa de montón que asigna malloc y la memoria de gráficos que asignan las API de OpenGL ES y Vulkan Graphics, lo que hace que la API de Memory Advice sea ideal para juegos y apps que requieren gráficos de alta calidad.

Las estimaciones se basan en lo siguiente:

  • Métricas del dispositivo que recopila la API
  • Datos de aprendizaje automático de los dispositivos
  • Prueba de dispositivos

A nivel de la API, la API de Memory Advice define un conjunto de estados de consejos de memoria y los comunica a las apps mediante un conjunto de funciones.

Comenzar Cómo comenzar a crear juegos de Unity

Distribuciones

La API de Memory Advice forma parte de Android Games Development Kit (AGDK) y se distribuye a través de los siguientes canales:

Los juegos deben usar la versión de la API de Memory Advice que se recomienda para su entorno de compilación. Para Android Studio, recomendamos la versión de Jetpack. Para Android Game Development Extension (AGDE), recomendamos la versión en la página de descarga de AGDK.

Funciones

En esta sección, se describen las funciones de la API de Memory Advice.

Estado de la memoria

La API les informa a las apps los siguientes estados de la memoria:

  • MEMORYADVICE_STATE_OK
  • MEMORYADVICE_STATE_APPROACHING_LIMIT
  • MEMORYADVICE_STATE_CRITICAL

Para obtener más información, consulta las páginas de referencia de memoryadvice_memorystate.

Cómo informar el estado de la memoria

La API admite la generación de informes sobre el estado de la memoria a través de un mecanismo de sondeo o de devolución de llamada:

  • Sondeo:
    Una app puede llamar a la API en cualquier momento para recuperar el estado de la memoria.

  • Devolución de llamada:
    Una app puede registrar una función de devolución de llamada con la API de Memory Advice. La app especifica la frecuencia de llamada para la devolución de llamada. La API usa la frecuencia para determinar el momento de ejecutar la devolución de llamada cuando la condición de la memoria de la aplicación se acerca al límite seguro o está muy baja. No se invoca la devolución de llamada si la condición de la memoria es segura. La devolución de llamada se ejecuta desde su propio subproceso, no desde un subproceso que pertenece a la app.

Consideraciones de costo y frecuencia de llamadas

La API de Memory Advice usa tiempo computacional para generar el estado de la memoria. El costo varía según el dispositivo, pero suele ser entre 1 ms y 3 ms por llamada. Debes tener en cuenta esta sobrecarga cuando determines la frecuencia con la que se realiza el sondeo del estado de la memoria o la frecuencia que se debe especificar para la devolución de llamada del estado de la memoria.

Requisitos

Requisitos del dispositivo

  • Android 4.4 (nivel de API 19) o una versión posterior

Requisitos de las apps

  • La API solo admite apps nativas (apps escritas principalmente en C/C++).

  • La API solo admite dispositivos físicos. No se admiten emuladores.

Requisitos de la versión del NDK

La versión de la API de Memory Advice admite las versiones más populares del NDK. Consulta las notas de la versión para conocer la lista de NDK compatibles.

Recursos adicionales

Problemas y comentarios

La API de Memory Advice se encuentra en versión beta, por lo que agradecemos que envíes tus comentarios. Si tienes sugerencias o encuentras problemas mientras usas la API, crea una entrada en la Herramienta de seguimiento de errores.