I wakelock parziali sono un meccanismo dell'API
PowerManager
che consente agli sviluppatori di mantenere in esecuzione la CPU dopo lo spegnimento del display di un dispositivo
(a causa del timeout del sistema o della pressione del tasto di accensione da parte dell'utente). La tua
app acquisisce un wakelock parziale chiamando
acquire()
con il flag
PARTIAL_WAKE_LOCK
o utilizzando altre API che acquisiscono wakelock.
Un wakelock parziale si blocca se viene mantenuto a lungo mentre
la tua app è in esecuzione in
background (nessuna parte della tua app è visibile all'utente). Questa condizione scarica
la batteria del dispositivo perché impedisce al dispositivo di entrare in stati di
consumo energetico inferiore. I wake lock parziali devono essere utilizzati solo quando necessario e rilasciati non appena non sono più necessari.
Se la tua app ha un wakelock parziale bloccato, puoi utilizzare le indicazioni riportate in questa pagina per diagnosticare e risolvere il problema.
Risolvi il problema
Poiché i wakelock possono scaricare la batteria del dispositivo, non devi utilizzarli se esiste un'alternativa. La documentazione Scegli l'API giusta per mantenere attivo il dispositivo può aiutarti a trovare la soluzione migliore per la tua app.
Se devi utilizzare un wakelock, segui le best practice per i wakelock per assicurarti che i wakelock non influiscano sull'efficienza del dispositivo. In particolare, assicurati che ogni dispositivo che acquisisci venga rilasciato e rilascia il blocco il più rapidamente possibile.
Dopo aver risolto il problema nel codice, puoi verificare le correzioni utilizzando gli strumenti di debug del wakelock locale.
Vedi anche
Consigliati per te
- Nota: il testo del link viene visualizzato quando JavaScript è disattivato
- Frame bloccati
- Eseguire benchmark nell'integrazione continua
- Creare e misurare profili di base senza Macrobenchmark