Wakelock parziali in eccesso (beta)

I blocchi di risveglio parziali sono un meccanismo nell'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). L'app acquisisce un blocco parziale dello schermo chiamando acquire() con il flag PARTIAL_WAKE_LOCK o utilizzando altre API che acquisiscono blocchi dello schermo. L'uso eccessivo di blocchi di risveglio parziali scarica la batteria del dispositivo perché impedisce al dispositivo di entrare in stati di risparmio energetico inferiori. I blocchi di risveglio parziali devono essere utilizzati solo quando necessario e rilasciati non appena non sono più necessari.

Se la tua app utilizza eccessivamente i blocchi di riattivazione parziali, puoi utilizzare le indicazioni riportate in questa pagina per diagnosticare e risolvere il problema.

Il tuo feedback è fondamentale per migliorare la nostra documentazione. Inviaci il tuo feedback utilizzando il seguente link:

Fornire feedback

Rilevare il problema

Android vitals può aiutarti a scoprire quando l'utilizzo di wakelock parziali da parte della tua app è eccessivo.

Android vitals

Android vitals può contribuire a migliorare le prestazioni della tua app inviandoti un avviso tramite Play Console quando l'uso di blocchi di attivazione parziali da parte della tua app è eccessivo.

Android vitals segnala l'utilizzo del wakelock parziale come eccessivo quando tutti i wakelock parziali, sommati, vengono eseguiti per 3 o più ore in un periodo di 24 ore.

Android vitals monitora il tempo solo se il blocco di attivazione è attivo quando l'app è in background e non ha un servizio in primo piano.

Android Vitals prevede alcune esenzioni per l'utilizzo del blocco parziale dell'accensione in scenari in cui il blocco parziale dell'accensione offre un chiaro vantaggio per l'utente e non esiste un modo migliore per ottenere questo risultato senza il blocco parziale dell'accensione. In questi casi, Android Vitals potrebbe non conteggiare il tempo di blocco parziale del risveglio rispetto al limite di 3 ore. Ad esempio, se un'app riproduce audio per l'utente, è evidente il vantaggio di mantenere il dispositivo attivo e non c'è modo di riprodurre l'audio senza mantenere attivo il dispositivo. In questo caso, il tempo di blocco parziale non viene conteggiato per Android vitals.

Se si verificano blocchi parziali eccessivi in più del 5% delle sessioni dell'app su tutti i dispositivi in un periodo di 28 giorni, la visibilità della tua app su Play potrebbe essere interessata una volta che la metrica non sarà più in versione beta.

Una volta che sai che la tua app ha blocchi parziali di riattivazione eccessivi, devi risolvere il problema.

Risolvi il problema

Poiché i blocchi di attivazione possono scaricare la batteria del dispositivo, non dovresti utilizzarli se esiste un'alternativa. La documentazione su come scegliere l'API giusta per mantenere il dispositivo attivo può aiutarti a trovare la soluzione migliore per la tua app.

Se devi utilizzare un blocco di attivazione, segui le best practice per i blocchi di attivazione per assicurarti che non influiscano negativamente sull'efficienza del dispositivo. In particolare, assicurati che ogni dispositivo acquistato sia sbloccato e rilascia la serratura il più rapidamente possibile.

Dopo aver risolto il problema nel codice, puoi verificare le correzioni utilizzando gli strumenti di debug del blocco di attivazione locale.

Vedi anche