Project Volta: ecco come Android L risparmierà batteria

volta-h1

Con Android L è stato ufficialmente svelato anche un progetto che prende il nome di Project Volta, tramite il quale Google ha voluto fornire tutti gli strumenti a sviluppatori ed utenti al fine di ottimizzare al massimo la durata della batteria sui dispositivi Android. L’avevamo anticipato nella nostra esclusiva su Android L e ora sappiamo di cosa si tratta.

Google ha infatti studiato il comportamento delle applicazioni in relazione al consumo di batteria ed ha notato che determinati processi tengono attivo il processore inutilmente per diversi secondi, tempo che potrebbe essere impiegato per eseguire altre operazioni più urgenti.

Project Volta si compone di diverse soluzioni atte a migliorare sensibilmente l’autonomia dei vari dispositivi: Lazy First, JobScheduler (legato a Lazie First), Battery Historian e Modalità Battery Saver. Partiamo dall’inizio, ovvero da Lazy First.

Lazy First

Solitamente l’esecuzione di applicazioni avviene secondo un determinato meccanismo secondo cui le istruzioni vengono eseguite senza un ordine di “urgenza”. Per questo motivo Google ha introdotto Lazy First, ovvero un meccanismo che consentirà agli sviluppatori di far eseguire il più tardi possibile alcune operazioni meno urgenti. Questo permetterà alla batteria di non essere stressata da processi che tengono occupato il processore per determinati istanti, che sommati tra loro vanno a definire un tempo che potrebbe essere impiegato dal processore per effettuare altre operazioni più urgenti ed importanti.

Non sempre però sarà possibile utilizzare l’approccio Lazy First, in quanto alcune operazioni dovranno necessariamente essere eseguite senza un ordine di urgenza; per questi casi gli sviluppatori potranno comunque continuare a sviluppare le loro applicazioni come hanno fatto fino ad ora, ovvero con il solito meccanismo performance-driven. A supporto di Lazy First vi è JobScheduler, una nuova API di cui vi parliamo subito qui di seguito.

JobScheduler

Inside-Project-Volta

Grazie a JobScheduler gli sviluppatori avranno a disposizione tutti gli strumenti necessari per effettuare una selezione dei processi più urgenti e di quelli meno urgenti. Grazie a questa nuova API sarà possibile ritardare l’esecuzione di alcuni processi quando ad esempio il dispositivo è messo in carica o collegato ad una rete WiFi. Tutto questo contribuirà a migliorare l’efficienza di Android e, quindi, l’autonomia in generale dei dispositivi.

Storico Batteria (Battery Historian)

Inside-Project-Volta (2)

Questa novità in particolare non riguarda noi utenti ma riguarda strettamente gli sviluppatori. Grazie allo storico della batteria, gli sviluppatori potranno infatti osservare il comportamento della propria applicazione per quanto riguarda i consumi, e potranno quindi apportare delle modifiche dedicate per migliorare il più possibile l’efficienza e la durata della batteria durante l’esecuzione della loro app.

Modalità Battery Saver

Inside-Project-Volta (1)

Per la prima volta nella storia di Android viene introdotta la modalità di risparmio energetico. Rispetto ad altre modalità di questo tipo implementate dalle aziende sui propri dispositivi, questa modalità consente di ottenere un maggior controllo sui consumi e permette di modificare parametri che fino ad ora non erano modificabili.

The-elements-that-drain-your-battery

Grazie alla modalità Battery Saver è infatti possibile:

  • ridurre la frequenza del processore e selezionare il numero di core massimi attivi
  • ridurre la frequenza di aggiornamento del display
  • limitare l’utilizzo dei dati in background

La modalità Battery Saver viene attivata automaticamente quando la percentuale di carica della batteria scende al di sotto del 15%, ma può essere anche attivata manualmente da parte dell’utente ogni qualvolta lo si desidera.

In conclusione: 20% di carica guadagnata su Nexus 5

Grazie a tutti questi importanti accorgimenti è stato possibile vedere come sul Nexus 5 l’autonomia sia nettamente migliorata, in quanto è stato calcolato che sul dispositivo il recupero si è attestato intorno al 15-20% – valori davvero incredibili.

Nonostante da poche ore siano state pubblicate le factory image di Android L Developer Preview per Nexus 5 e Nexus 7 2013, i risultati di questo intenso lavoro di ottimizzazione del sistema dovrebbero vedersi solamente in piccola parte. Per ora, infatti, nessuna applicazione sfrutta i nuovi strumenti messi a disposizione da parte di Google per il miglioramento dell’autonomia, e per questo motivo gli utenti potranno usufruire solamente della modalità di risparmio energetico.

Con il passare del tempo e con l’adattamento delle applicazioni alla nuova versione di Android, si vedrà aumentare anche l’autonomia.

Via

Commenti

Ti invitiamo ad usare toni consoni e di rimanere in tema all'argomento trattato, in caso contrario, il sistema automatico potrebbe oscurare il tuo messaggio e potrebbero trascorrere fino a 48h per la verifica ed un'eventuale autorizzazione.
TuttoAndroid si riserva comunque il diritto di allontanare le persone non adatte a tenere un comportamento corretto e rispettoso verso gli altri.

  • Pingback: Nexus 6: prime impressioni sulla durata della batteria - Tutto Android()

  • Pingback: Android 5.0 Lollipop ufficiale: a breve per Nexus 5, Nexus 7, Nexus 10 e Google Play Edition - Tutto Android()

  • Ivan Belli

    Ne sapete tutti più di me, ma senza offesa penso che gli ing. di google che lavorano al project volta sappiano cosa devono fare… Se pensate di avere soluzioni migliori vi consiglio vivamente di mandargli il vostro curriculum…

  • Snelfo

    Google studia il comportamento delle applicazioni in relazione al consumo di batteria….ma non dice nulla riguardo alla sua Google Play Services che è la principale causa di battery drain sui miei dispositivi! Oltre che mangiare Ram a tutto spiano, play services ha un numero di wakelock incredibilmente alto e di durata altissima!!
    E poi tutti questi sistemi per controllare il consumo…basterebbe fare in modo che le applicazioni si sincronizzino tutte nello stesso istante! Faccio un esempio: ho sul telefono le app di email, gmail, facebook, google+ e twitter; hanno tutte la sincronizzazione automatica e quindi il device ha 5 wakelock diversi per le 5 app, questo significa che il device deve uscire dallo standby 5 volte in un’unità di tempo; se al primo risveglio (facciamo un esempio gmail) il device sincronizzasse tutte le altre app, allora avrebbe un solo risveglio. Considerato che i processori attuali effettuano sincronizzazioni in tempi brevissimi…avremmo un bel risparmio di energia.
    Se poi google play services smettesse di chiedere wakelock …avremmo risolto…

    • Tore

      Non sono pienamente d’accordo: se hai 5 app da sincronizzare queste occupano un tempo t1+t2+t3+t4+t5 ( per sincronizzarsi come dici tu) e tempi separati invece quando si sincronizzano normalmente. Dal punto di vista del risparmio energetico cambia ben poco, quello che cambia è la schedulazione di tutti i processi in quanto , sincronizzare in un sol colpo, implica comunque dei blocchi del processo di sincronizzazione da parte dei task più prioritari …il processo di sync da te ipotizzato sarà inoltre molto più pesante rispetto al sync singolo ( più info da mantenere) e quindi i context switch saranno anche più pesanti.
      Infine il tempo di sync non dipende solo dal processore, ma anche dalla rete e dagli accessi alla memoria.
      Meglio avere sync separati.

      • Sid Bradipao

        Dal punto di vista di energia necessaria al processore per effettuare le sincronizzazioni, hai sostanzialmente ragione. Però in questi sistemi embedded ci sono anche consumi non lineari, che dipendono cioè pesantemente dal fatto che l’unità sia attiva o in power-saving.

        Per esempio, se hai cinque sincronizzazioni che devono usare la connessione di rete, se schedulate separatamente provocano il risveglio della cpu e soprattutto del modulo di rete cinque volte, mentre fatte tutte insieme sarebbe una sola volta. Insomma, il sistema consuma sensibilmente meno se scarica 1MB tutto in una volta, piuttosto che risvegliarsi 10 volte per scaricare 100kB ogni volta.

        • Snelfo

          È quello che dico pure io: se ogni app sincronizza quando vuole lei allora i telefoni non vanno praticamente mai in deepsleep! Hai voglia a giocare con i governor e gli scheduler…se un’ app chiede un wakelock e gli viene sempre concesso allora come si può pensare di risparmiare batteriA?

  • Pingback: Project Volta: ecco come Android L risparmierà batteria - RSS News.it()

Top