Gestione dell'alimentazione della piattaforma con Doze

Per migliorare la durata della batteria, Android può influire sullo stato del dispositivo: monitoraggio dell'uso e del risveglio del dispositivo. La piattaforma può entrare nello stato sospensione per sospendere le attività dalla corsa mentre il dispositivo non è utilizzato.

Informazioni su Doze

La funzionalità di sospensione prolunga la durata della batteria posticipando la CPU in background dell'app e Attività di rete quando un dispositivo rimane inutilizzato per lunghi periodi.

I dispositivi inattivi in Sospensione periodicamente entrano in un periodo di manutenzione, durante il quale le app possono completare i lavori in sospeso (sincronizzazioni, lavori e così via). Sospensione e poi ripresa di sonno per un periodo di tempo più lungo, seguito da un altro periodo di manutenzione. La continua la sequenza di sospensione del sonno/manutenzione, aumentando la durata inattivo ogni volta, fino a quando non viene raggiunto il numero massimo di ore di sospensione. Per niente volte, un dispositivo in modalità Sospensione rimane consapevole del movimento ed esce immediatamente dalla modalità Sospensione se viene rilevato un movimento.

Android 7.0 e versioni successive estende la funzionalità Sospensione per attivare un insieme più leggero di ottimizzazioni Ogni volta che un utente spegne lo schermo del dispositivo, anche se continua a per spostarsi, estendendo la durata della batteria.

I produttori di dispositivi generalmente configurano i servizi di sistema critici per da Sospensione. Gli utenti possono anche escludere app specifiche dalla funzionalità Sospensione utilizzando il comando Menu Impostazioni. Tuttavia, l'esclusione delle app potrebbe causare un consumo eccessivo della batteria del dispositivo. Per impostazione predefinita, la funzionalità Sospensione è disattivata in AOSP. della Per informazioni dettagliate sull'attivazione della funzionalità Sospensione, consulta la sezione Integrazione della funzionalità Sospensione.

Requisiti per la sospensione

Il supporto della sospensione richiede che il dispositivo disponga di un servizio di messaggistica cloud, ad esempio Firebase Cloud Messaging (FCM). Eventi di trigger esterni, come i messaggi cloud, può riattivare temporaneamente le app per svolgere il lavoro mentre il dispositivo rimane in modalità Sospensione.

Il supporto completo della funzionalità Sospensione richiede anche significativo rilevatore di movimento (SMD) sul dispositivo; mentre la modalità Sospensione leggera Android 7.0 e versioni successive non richiede SMD. Se la funzionalità Sospensione è attiva su un dispositivo che:

  • Ha un SMD, le ottimizzazioni della sospensione sono complete (include i ottimizzazioni).
  • Non ha un SMD, vengono eseguite solo le ottimizzazioni della funzionalità Sospensione leggera.

Ciclo di vita della sospensione

La sospensione inizia quando la piattaforma rileva che il dispositivo è inattivo e termina quando si verificano una o più attività con criteri di uscita.

La piattaforma rileva che un dispositivo è inattivo quando:

  • Il dispositivo è fermo (con SMD).
  • Lo schermo del dispositivo è spento per un certo periodo di tempo.

La modalità Sospensione non si attiva quando un dispositivo alimentato a batteria è collegato a un caricabatterie.

Durante la sospensione

La piattaforma tenta di mantenere il sistema in stato di sospensione, periodicamente il ripristino del normale funzionamento durante un periodo di manutenzione e la restituzione del dispositivo dormire per cicli ripetuti più lunghi. Durante il sonno: sono attive le seguenti limitazioni:

  • Alle app non è consentito l'accesso alla rete.
  • Wakelock delle app ignorati.
  • Gli allarmi sono stati differiti. Sono escluse sveglie e sveglie impostate tramite setAndAllowWhileIdle() (massimo 1 ogni 15 minuti per app mentre in modalità Sospensione). Questa esenzione è destinata alle app (ad esempio Calendar) che devono mostrare notifiche di promemoria di eventi.
  • Le ricerche di reti Wi-Fi non vengono eseguite.
  • SyncAdapter sincronizzazioni e JobScheduler job differiti fino al successivo periodo di manutenzione.
  • Le app che ricevono SMS e MMS vengono inserite in una lista consentita temporanea per possono completare l'elaborazione.

Esci

La piattaforma chiude il dispositivo dalla modalità Sospensione quando rileva:

  • Interazione dell'utente con il dispositivo
  • Movimento del dispositivo
  • Si attiva lo schermo del dispositivo
  • Sveglia imminente

Se ricevi notifiche, il dispositivo non esce dalla modalità Sospensione.

Android 7.0 e versioni successive estende la funzionalità Sospensione attivando una modalità Sonno leggera quando lo schermo è spento, prima che il dispositivo sia inattivo.

Figura 1. Modalità di sospensione per dispositivi non stazionari e fissi.

Azione Sospensione Sospensione leggera
Attivazione Schermo spento, a batteria, fermo Schermo non attivo, a batteria (scollegato)
Tempi Aumento successivo dei periodi di manutenzione Periodi ripetuti di N minuti con periodi di manutenzione
Restrizioni Nessun accesso alla rete, wakelock o ricerca GPS/Wi-Fi; sveglie e job/sincronizzazioni differito Nessun accesso alla rete. di job/sincronizzazioni differite tranne che durante i periodi di manutenzione
Comportamento Solo i messaggi di notifiche push ad alta priorità ricevuti tutti i messaggi in tempo reale (messaggi istantanei, chiamate ecc.) ricevuti; messaggio di notifica push ad alta priorità che consente l'accesso temporaneo alla rete
Esci Sveglia con movimento, schermo acceso o sveglia Schermo acceso

Interazione con Standby delle app

  • Il tempo trascorso in modalità Sospensione non viene conteggiato ai fini dello standby delle app.
  • Mentre il dispositivo è in modalità Sospensione, le app inattive possono funzionare normalmente operazioni almeno una volta al giorno.

Integra Sospensione

Quando la funzionalità Sospensione è attiva, i dispositivi che supportano SENSOR_TYPE_SIGNIFICANT_MOTION eseguire ottimizzazioni complete della sospensione (incluse quelle leggere); i dispositivi senza SMD eseguono solo ottimizzazioni di base. Android seleziona automaticamente le ottimizzazioni di sospensione e il fornitore non è necessaria.

Per attivare la funzionalità Sospensione per un dispositivo:

  1. Verifica che sul dispositivo sia installato un servizio di messaggistica cloud.
  2. Nel file di configurazione dell'overlay del dispositivo overlay/frameworks/base/core/res/res/values/config.xml, impostato Da config_enableAutoPowerModes a true:
    <bool name="config_enableAutoPowerModes">true</bool>
    
    In AOSP, questo parametro è impostato su false (Sospensione disattivata) per impostazione predefinita.
  3. Verifica che le app e i servizi precaricati:
  4. Conferma che i servizi necessari siano esenti da Sospensione.

Suggerimenti

Testare e ottimizzare le app

Testa tutte le app (in particolare quelle precaricate) in modalità Sospensione. Per maggiori dettagli, consulta Test grazie alla funzionalità Sospensione e Standby delle app.