Utilizzo eccessivo della rete mobile in background

Quando un'app si connette alla rete mobile in background, riattiva la CPU e attiva la radio. farlo ripetutamente può esaurire la batteria del dispositivo. Un'app è considerata in esecuzione in background se è in stato PROCESS_STATE_BACKGROUND o PROCESS_STATE_CACHED.

In questa pagina viene spiegato come determinare il motivo per cui la tua app utilizza eccessivamente la rete mobile durante l'esecuzione in background e come procedere.

Rileva il problema

Potresti non sapere sempre che la tua app fa un uso eccessivo della rete durante l'esecuzione in background. Se hai già pubblicato la tua app, Android vitals può informarti del problema in modo da poterlo risolvere.

Android vitals

Android vitals può aiutare a migliorare le prestazioni della tua app avvisandoti tramite Play Console quando la tua app utilizza eccessivamente la rete mobile in background.

Android vitals considera l'utilizzo della rete in background eccessivo quando un'app invia e riceve un totale combinato di 50 MB al giorno durante l'esecuzione in background. In Play Console puoi controllare la percentuale di sessioni di batteria che mostrano questo comportamento.

La definizione di sessione di batteria dipende dalla versione della piattaforma.

  • In Android 10, una sessione di batteria è l'aggregazione di tutti i report sulla batteria ricevuti entro un determinato periodo di 24 ore. Un report sulla batteria fa riferimento all'intervallo tra due ricariche da meno del 20% a oltre l'80% o da qualsiasi livello di carica al 100%.
  • In Android 11, una sessione di batteria è un periodo fisso di 24 ore.

Per informazioni sulla modalità di raccolta dei dati Android vitals da parte di Google Play, consulta la documentazione di Play Console.

Analizzare il comportamento di utilizzo della rete mobile

Strumenti come Storico della batteria possono aiutarti a ottenere informazioni più dettagliate sull'utilizzo della rete mobile da parte della tua app. Battery Historian fornisce una visualizzazione dell'utilizzo della radio mobile in base alle singole app, che può aiutarti a ottenere un quadro più chiaro di ciò che sta accadendo con la tua app. Per ulteriori informazioni su Battery Historyian, consulta Analisi del consumo di energia con Battery Historian. Nell'analisi del comportamento di utilizzo della rete mobile da parte della tua app, dovresti prestare particolare attenzione alla riga Utilizzo della rete mobile.

Per informazioni sui meccanismi di utilizzo di Battery Historian, consulta Batterystats and Battery Historian Walkthrough.

Ridurre l'utilizzo della rete mobile

Puoi impostare l'utilizzo della rete mobile in primo piano per avvisare l'utente che è in corso un download e fornire controlli per mettere in pausa o interrompere il download. Per farlo, chiama DownloadManager e imposta setNotificationVisibility(int) come appropriato.