Administración de energía de la plataforma con el modo Descanso

Para mejorar la duración de batería, Android puede afectar el estado del dispositivo supervisar el uso y la activación del dispositivo. La plataforma puede pasar al estado Suspender para detener la ejecución de actividades mientras el dispositivo no está en uso.

Acerca de Descanso

Descanso prolonga la duración de la batería aplazando la CPU y la actividad de red cuando un dispositivo no se usa durante largos períodos.

Los dispositivos inactivos en Descanso entran periódicamente en un período de mantenimiento, durante el cual las apps pueden completar el trabajo pendiente (sincronizaciones, trabajos, etc.). Descanso luego se reanuda se suspende durante un período prolongado, seguido de otro período de mantenimiento. El continua la secuencia de suspensión/mantenimiento Descanso, aumentando la duración de de inactividad cada vez hasta que se alcance un período de suspensión de algunas horas. Para nada veces, un dispositivo en modo Descanso permanece al tanto del movimiento e inmediatamente sale del modo Descanso si se detecta movimiento.

Android 7.0 y las versiones posteriores extienden el modo Descanso para activar un conjunto más liviano de optimizaciones Cada vez que un usuario apaga la pantalla del dispositivo, incluso si continúa moverse, lo que permite una mayor duración de la batería.

Por lo general, los fabricantes de dispositivos configuran los servicios críticos del sistema para que sean exenta de Descanso. Además, los usuarios pueden excluir determinadas apps del modo Descanso con el Menú de configuración Sin embargo, la exención de apps puede provocar que se agote la batería del dispositivo. De forma predeterminada, Descanso está inhabilitado en AOSP. para detalles sobre cómo habilitar el modo Descanso, consulta Cómo integrar el modo Descanso.

Requisitos del modo Descanso

La compatibilidad con Descanso requiere que el dispositivo tenga un servicio de mensajería en la nube, como Firebase Cloud Messaging (FCM). Los eventos de activadores externos, como mensajes en la nube, puede activar temporalmente las apps para que funcionen mientras el dispositivo permanece en el modo Descanso.

La compatibilidad completa con el modo Descanso también requiere significativo detector de movimiento (SMD) en el dispositivo. Sin embargo, el modo ligero Descanso en Android 7.0 y las versiones posteriores no requieren un SMD. Si el dispositivo tiene habilitada la función Descanso, haz lo siguiente: que:

  • Tiene un SMD; se realizan optimizaciones de Descanso total (incluidas las optimizaciones).
  • No tiene un SMD, solo se realizan las optimizaciones ligeras de Descanso.

Ciclo de vida de Descanso

El modo Descanso comienza cuando la plataforma detecta que el dispositivo está inactivo y finaliza cuando ocurren una o más actividades de criterios de salida.

La plataforma detecta que un dispositivo está inactivo en los siguientes casos:

  • El dispositivo está fijo (con SMD).
  • La pantalla del dispositivo estará apagada durante cierta cantidad de tiempo.

El modo Descanso no funciona cuando un dispositivo con batería está conectado a un cargador.

Durante Descanso

La plataforma intenta mantener el sistema en estado de suspensión, periódicamente, reanudar las operaciones normales durante un período de mantenimiento y, luego, devolver el dispositivo se duerme por períodos más largos. Durante el sueño, ocurre lo siguiente restricciones activas:

  • Las apps no tienen acceso a la red.
  • Se ignoraron los bloqueos de activación de apps.
  • Las alarmas se posponen. Excluye las alarmas y las alarmas establecidas con setAndAllowWhileIdle() (limitado a 1 vez cada 15 minutos por aplicación mientras que en Descanso). Esta exención está destinada a apps (como Calendario) que deben mostrar notificaciones con recordatorios de eventos.
  • No se realizan búsquedas de Wi-Fi.
  • SyncAdapter sincronizaciones y JobScheduler trabajos diferidos hasta el próximo período de mantenimiento.
  • Las apps que reciben mensajes SMS y MMS se incluyen en una lista blanca temporal para que para que puedan completar el procesamiento.

Salir

La plataforma hace que el dispositivo salga del modo Descanso cuando detecta lo siguiente:

  • Interacción del usuario con el dispositivo
  • Movimiento del dispositivo
  • Se enciende la pantalla del dispositivo
  • Alarma de alarma inminente

Las notificaciones no provocan la salida del dispositivo de la función Descanso.

Android 7.0 y versiones posteriores extienden el modo Descanso al habilitar un modo de suspensión ligero cuando la pantalla está apagada, antes de que el dispositivo quede inactivo.

Figura 1: Modos Descanso para dispositivos fijos y no fijos

Acción Descanso Descanso ligero
Activador Pantalla apagada, con batería, apagada Pantalla apagada, con batería (desenchufada)
Tiempos Aumentar los períodos de forma sucesiva con el mantenimiento Períodos de N minutos repetidos con períodos de mantenimiento
Restricciones Sin acceso a la red, bloqueo de activación ni búsqueda de Wi-Fi o GPS. alarmas y trabajos y sincronizaciones diferido Sin acceso a la red. trabajos y sincronizaciones aplazadas, excepto durante los períodos de mantenimiento
Comportamiento Solo se recibieron mensajes de notificación push de prioridad alta Todos los mensajes en tiempo real (mensajes instantáneos, llamadas, etc.) recibidos un mensaje de notificación push de alta prioridad habilita el acceso temporal a la red
Salir Movimiento, pantalla encendida o alarma de despertador Pantalla encendida

Interacción con App Standby

  • El tiempo que pasas en el modo Descanso no se incluye en el modo App Standby.
  • Cuando el dispositivo está en Descanso, las apps inactivas pueden realizar una acción normal las operaciones al menos una vez al día.

Cómo integrar el modo Descanso

Cuando está habilitada la función Descanso, los dispositivos que admiten SENSOR_TYPE_SIGNIFICANT_MOTION realizar optimizaciones completas de Descanso (incluidas las optimizaciones ligeras) los dispositivos sin SMD solo realizan optimizaciones ligeras de Descanso. En Android selecciona automáticamente las optimizaciones de Descanso y los proveedores configuración no es necesaria.

Para habilitar el modo Descanso en un dispositivo, haz lo siguiente:

  1. Confirma que el dispositivo tenga instalado un servicio de mensajería en la nube.
  2. En el archivo de configuración de superposición de dispositivos Se estableció overlay/frameworks/base/core/res/res/values/config.xml De config_enableAutoPowerModes a true:
    <bool name="config_enableAutoPowerModes">true</bool>
    
    En AOSP, este parámetro se establece en false (Descanso inhabilitado) de forma predeterminada.
  3. Confirma que las apps y los servicios precargados cumplan con lo siguiente:
  4. Confirma que los servicios necesarios estén exentos de la función Descanso.

Sugerencias

Prueba y optimiza apps

Prueba todas las apps (en especial, las precargadas) en el modo Descanso. Para obtener más información, consulta Pruebas con los modos Descanso y App Standby.