Optimización del rendimiento de Android

Sigue las instrucciones de esta sección para asegurarte de que tus dispositivos Android minimicen el uso de recursos y optimicen el rendimiento. También aprovecha las numerosas pruebas y herramientas que se describen en Evaluación del rendimiento como parte de tu trabajo para aprovechar al máximo Android.

Almacenamiento en caché de APK

En este documento, se describe el diseño de una solución de almacenamiento en caché de APKs para la instalación rápida de apps precargadas en un dispositivo que admite particiones A/B. Los OEMs pueden colocar las precargas y las apps populares en la memoria caché de APKs almacenadas en la partición B casi vacía en dispositivos nuevos con particiones A/B sin afectar de manera negativa el espacio de datos para el usuario.

Tiempos de inicio

Android 8.0 permite reducir los tiempos de inicio, ya que admite varias mejoras en una amplia variedad de componentes. En este documento, se proporciona orientación a los socios para mejorar los tiempos de inicio de dispositivos Android específicos.

Salud

Android 9 incluye la HAL 2.0 de android.hardware.health, una actualización de versión principal de la HAL health@1.0. Esta nueva HAL ofrece una separación más clara entre el framework y el código del proveedor, mayores grados de libertad para la personalización del proveedor en los informes de información de salud y más información sobre el estado del dispositivo que solo la batería.

Optimizador de poca memoria

El proceso lmkd del espacio del usuario implementa la misma funcionalidad, pero con mecanismos del kernel ya existentes para detectar y estimar la presión de la memoria. Utiliza eventos de vmpressure generados por el kernel para recibir notificaciones sobre los niveles de presión de memoria.

Optimización guiada por perfil

El sistema de compilación de Android admite el uso de la optimización guiada por perfil (PGO) de Clang en los módulos nativos de Android que tienen reglas de compilación de diseño.

Optimización de código y recursos con R8

El sistema de compilación de Android usa el compilador R8 para reducir, optimizar y quitar el código y los recursos sin usar de los destinos DEX (android_app, android_test y módulos java_library instalables). En las bibliotecas estáticas (android_library y java_library estático), Soong usa el bloque optimize para adjuntar y exportar reglas de conservación del consumidor.

Para obtener más información sobre cómo configurar la optimización de R8 y conservar las reglas, consulta Cómo optimizar el código y los recursos de la plataforma con R8.

Instantáneas de tareas

Las instantáneas de tareas son una infraestructura introducida en Android 8.0 que combina capturas de pantalla para las miniaturas de Recientes y las superficies guardadas de Window Manager. Las miniaturas de Recientes representan el último estado de una tarea en la vista de Recientes.

Almacenamiento de registros de escritura anticipada

Android 9 introduce un modo especial de SQLiteDatabase llamado WAL de compatibilidad (almacenamiento de registros de escritura anticipada) que permite que una base de datos use journal_mode=WAL y conserve el comportamiento de mantener un máximo de una conexión por base de datos.

Administrador de NPU

Android 17 y versiones posteriores admiten el Neural Processing Unit (NPU) Manager, que coordina las asignaciones de recursos, prioriza las cargas de trabajo y hace un seguimiento del estado de ejecución para mantener la estabilidad del sistema y optimizar el rendimiento del dispositivo.