tag studio power manager invalid gotosleep android sleep-mode android-powermanager

studio - ¿Cuándo el dispositivo Android pasa al modo de suspensión?



powermanager android (3)

Estaba buscando SO y web, pero no pude encontrar una respuesta suficiente para mi pregunta en particular. OK aquí vamos:

Cada usuario puede modificar el tiempo de espera de la pantalla en Android. (cuando la pantalla se apaga cuando está inactiva durante __ segundos / minutos, a elección del usuario). Pero el usuario puede modificar ÚNICAMENTE el tiempo de espera de la pantalla y no cuando el dispositivo se apaga. Encontré aquí lo que sucede cuando el dispositivo se duerme: (Respuesta realmente agradable de CommonsWare) Modo de suspensión / espera de Android

Ok mi pregunta es simple ¿Cómo sé cuándo mi teléfono se va a dormir? ¿Se irá a dormir inmediatamente después de apagar la pantalla? ¿Permanecerá "despierto" un rato después de apagar la pantalla? Y lo más importante: ¿el modo de suspensión en un dispositivo en particular varía según el dispositivo de la marca (cómo lo implementa el fabricante) o depende de la versión de la ROM (por ejemplo, todos los dispositivos con ICS se desactivarán X segundos después de que se apagó la pantalla)?


Hay una pequeña diferencia en el consumo de energía cuando se compara un teléfono con computadoras portátiles. Las computadoras portátiles la mayoría de las veces funcionan con alimentación directa a través del cargador. (En su mayoría llevamos cargo con laptop). Los móviles funcionan principalmente con la batería. (Rara vez llevamos cargador con nosotros).

Teniendo esto en cuenta, Android ha diseñado de tal manera que el teléfono no consumirá energía de la batería si el usuario no está interactuando con el teléfono. Esto es para aumentar el tiempo de respaldo de la batería para el usuario.

Es por eso que cuando la pantalla LCD está apagada (lo que significa que el usuario no está interactuando con el teléfono), con una fracción de segundos, la CPU también irá a un modo (modo inactivo) donde realiza un trabajo mínimo y ahorra energía de la batería. Cuando la CPU está en modo de suspensión, acepta comandos solo de RIL (capa de interfaz de radio) que es básicamente SMS y funciones de llamada, y alarmas. Aparte de esta CPU dejará de ejecutar otras funciones de aplicaciones.

Nota: si alguna aplicación desea el tiempo de CPU para su trabajo de emergencia cuando la CPU está en modo de suspensión, puede solicitar el tiempo de CPU utilizando WAKE LOCKS.

Por ejemplo: la aplicación de MP3 tiene que seguir reproduciendo canciones en su servicio, aunque el usuario haya apagado la pantalla LCD. Eso significa que el servicio de la aplicación de MP3 ha solicitado el tiempo de CPU utilizando WAKE LOCKS.

Tu pregunta : ¿Cómo puedo saber cuándo se va a dormir mi teléfono? - Respuesta : Simple pasa al modo de suspensión cuando la pantalla LCD está apagada, en una fracción de segundos.

Su pregunta : ¿El modo de suspensión en un dispositivo particular varía según el dispositivo de la marca? Respuesta : Dado que Android es de código abierto, cualquier OEM puede tomar la capa de controlador, que es una licencia de GPU y puede modificar la unidad del administrador de energía para que se comporte de manera diferente. Todos estos modos de suspensión y activaciones están finalmente bajo el control del controlador Power Manager de la capa de kernel de Linux.


Nunca puedes estar seguro de si el dispositivo se ha ido a dormir. En el mejor de los casos, puedo darte una lista de cosas para asegurarte de que el dispositivo no se haya dormido:

  • La pantalla está encendida: requiere CPU y GPU, y por lo tanto RAM, para mantenerse activo
  • Cualquier aplicación que tenga un wakelock: incluso los wakelock más bajos mantienen la CPU encendida, aunque la pantalla puede estar apagada

Aparte de esto, no hay garantía de que el dispositivo se ponga en reposo n segundos después de que se apague la pantalla, incluso si no se retiene ningún wakelocks. Esto es hasta el OEM, y pueden alterar esto.

Tenga en cuenta que los dispositivos Android tienen la opción de mantener el dispositivo desbloqueado durante un cierto período de tiempo después de que la pantalla se haya apagado.


para probar el modo de suspensión / dormitar en Android 6.0, debe usar los siguientes comandos:

$ adb shell dumpsys battery unplug $ adb shell dumpsys deviceidle step

más información vea aquí: Optimización para Doze y App Standby