Los bloqueos de activación parciales son un mecanismo en la API de PowerManager
que les permite a los desarrolladores mantener la CPU en ejecución después de que se apaga la pantalla de un dispositivo (ya sea debido al tiempo de espera del sistema o a que el usuario haya presionado el botón de encendido). Tu app adquiere un bloqueo de activación parcial llamando a acquire()
con la marca PARTIAL_WAKE_LOCK
o usando otras APIs que adquieren bloqueos de activación.
El uso excesivo de bloqueos de activación parciales agota la batería del dispositivo, ya que impide que ingrese en estados de bajo consumo. Debes usar el bloqueo de activación parcial solo cuando sea necesario y liberarlo cuando ya no lo necesites.
Si tu app usa bloqueos de activación parcial de forma excesiva, puedes seguir las indicaciones que se incluyen en esta página para diagnosticar el problema y corregirlo.
Tus comentarios son fundamentales para mejorar nuestra documentación. Envíanos tus comentarios a través del siguiente vínculo:
Cómo detectar el problema
Android vitals puede ayudarte a detectar cuándo el uso de bloqueos de activación parciales de tu app es excesivo.
Android vitals
Android vitals puede ayudarte a mejorar el rendimiento de tu app. Para ello, te envía alertas a través de Play Console cuando el uso de bloqueos de activación parciales de tu app es excesivo.
Android vitals registra el uso de bloqueos de activación parcial como excesivo cuando todos los bloqueos de activación parcial, sumados, se ejecutan durante 2 horas o más en un período de 24 horas. Android vitals hace un seguimiento de la duración del bloqueo de activación solo si se mantiene cuando la app está en segundo plano o ejecuta un servicio en primer plano. Actualmente, Android vitals exime del cálculo de bloqueos de activación a los bloqueos de activación creados por las APIs iniciadas por el usuario de audio, ubicación y JobScheduler.
El panel de Android vitals sobre bloqueos de activación parciales excesivos proporciona desgloses de los nombres de los bloqueos de activación no exentos asociados con tu app, y muestra las sesiones y duraciones afectadas.
Si se producen bloqueos parciales de activación excesivos en más del 5% de las sesiones de la app en todos los dispositivos durante un período de 28 días, esto puede afectar la visibilidad de la app en Play una vez que la métrica deje de estar en versión beta.
Una vez que se te informa que tu app presenta demasiados bloqueos de activación parciales, el siguiente paso es abordar el problema.
Cómo corregir el problema
Debido a que los bloqueos de activación pueden agotar la batería del dispositivo, no debes usarlos si hay una alternativa. La documentación de Cómo elegir la API adecuada para mantener el dispositivo activo puede ayudarte a encontrar la mejor solución para tu app.
Si necesitas usar un bloqueo de activación, sigue las prácticas recomendadas para los bloqueos de activación y asegúrate de que no afecten la eficiencia del dispositivo. En particular, asegúrate de liberar cada dispositivo que adquieras y de liberar el bloqueo lo más rápido posible.
Es posible que tu app también use bloqueos de activación, incluso si no los adquieres de forma explícita. Si ves bloqueos de activación atribuidos a la app que no reconoces, identificar los bloqueos de activación creados por otras APIs puede ayudarte a identificar las APIs que podrían haberlos creado.
Después de corregir el problema en el código, puedes verificar las correcciones con las herramientas de depuración de bloqueo de activación locales.
Consulta también
Recomendaciones para ti
- Nota: El texto del vínculo se muestra cuando JavaScript está desactivado
- Fotogramas congelados
- Cómo ejecutar comparativas en la integración continua
- Cómo crear y medir perfiles de Baseline sin macrocomparativas