Quando un'app esegue ricerche di reti Wi-Fi in background, riattiva la CPU, aumentando il consumo eccessivo della batteria. Quando si verificano troppe scansioni, la durata della batteria del dispositivo potrebbe ridursi notevolmente. Un'app è considerata in esecuzione in background se si trova nello stato PROCESS_STATE_BACKGROUND o PROCESS_STATE_CACHED.
Questo documento fornisce suggerimenti per diagnosticare e risolvere il problema delle ricerche di reti Wi-Fi eccessive in background.
Esaminare le scansioni Wi-Fi
Strumenti come Battery Historian possono aiutarti a ottenere maggiori informazioni sul comportamento di scansione della tua app. Battery Historian fornisce una visualizzazione del comportamento di scansione Wi-Fi per ogni app, il che può aiutarti a ottenere un'immagine più chiara di ciò che sta succedendo alla tua app. Per ulteriori informazioni su Battery Historian, consulta Analizzare il consumo energetico con Battery Historian.
Per informazioni sul funzionamento di Battery Historian, consulta Batterystats and Battery Historian Walkthrough.
Ridurre le scansioni
Se possibile, l'app deve eseguire scansioni Wi-Fi mentre è in esecuzione in primo piano. I servizi in primo piano presentano automaticamente le notifiche; l'esecuzione di scansioni Wi-Fi in primo piano consente quindi all'utente di sapere perché e quando vengono eseguite le scansioni Wi-Fi sul suo dispositivo.
Per informazioni su come eseguire la scansione in primo piano, consulta la documentazione della classe WifiManager.
Se la tua app non può evitare di eseguire scansioni Wi-Fi mentre è in esecuzione in background, potrebbe trarre vantaggio dall'applicazione di una strategia Lazy First. Lazy First comprende tre tecniche che puoi utilizzare per ridurre le scansioni Wi-Fi: riduzione, differimento e unione. Per informazioni su queste tecniche, vedi Ottimizzazione per la durata della batteria.
Consigliati per te
- Nota: il testo del link viene visualizzato quando JavaScript è disattivato
- Utilizzo eccessivo della rete mobile in background