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). Para adquirir un bloqueo de activación parcial, tu app debe llamar a acquire() con la marca PARTIAL_WAKE_LOCK o usar otras APIs que adquieren bloqueos de activación.
Un bloqueo de activación parcial se queda atascado si se mantiene durante un tiempo prolongado mientras se ejecuta tu app en segundo plano (el usuario no puede ver ninguna parte). Esta condición agota la batería del dispositivo, ya que impide que ingrese en el estado 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 presenta un bloqueo de activación parcial sostenido, puedes seguir las indicaciones que se incluyen en esta página para diagnosticar el problema y corregirlo.
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.
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