Sommario:
Ogni volta che il software sui nostri telefoni riceve un grande aggiornamento, sentiamo come funzionerà meglio e userà meno della nostra batteria. Sebbene sia spesso vero, le idee e il modo in cui vengono implementate necessitano di una grande messa a punto per soddisfare le aspettative. Android 7.0 migliora due funzionalità esistenti per aiutarle a sfruttare appieno il loro potenziale: Projects Doze e Project Svelte.
Gli obiettivi sono semplici: trovare modi per rendere il telefono meno affamato di energia quando non lo si utilizza e una migliore gestione dei processi in background. Tutto il software è costruito con un'enfasi su prestazioni ed efficienza e un sistema operativo molto di più. Daremo un'occhiata ai cambiamenti e vedremo come potrebbero avere un impatto.
Project Svelte
Project Svelte è arrivato nel 2013 con il rilascio di Android 4.4 KitKat come un modo per il sistema operativo di funzionare meglio sui telefoni di fascia bassa. Su questo fronte, ha avuto successo, ma ci aspettavamo cambiamenti più grandi di quelli che abbiamo ottenuto. Per una buona idea di quali fossero le intenzioni originali di Svelte, non cercare oltre Android One. L'obiettivo era quello di creare hardware economico che eseguisse l'ultima versione di Android abbastanza bene da raccomandare.
Con Android 7.0, il progetto continua a ridurre l'impatto delle prestazioni avendo un sistema ancora migliore per la gestione dei processi in background.
Le modifiche a Svelte risolvono due problemi specifici e importanti che impongono l'esecuzione in background delle app
Android è molto diverso da iOS. Qualsiasi sviluppatore può pagare una commissione molto piccola e pubblicare un'app su Google Play insieme a nomi come Facebook o Samsung. A condizione che l'app non abbia un codice dannoso, sarà attiva per l'installazione da parte di tutti e, a meno che non venga segnalata per contenuti o azioni inappropriati, rimarrà (anche se Google afferma che esegue un controllo automatico di ogni app prima di inviarla dal vivo). Questo è molto diverso da ogni app inviata attraverso un processo di approvazione manuale e significa che le app non vengono rifiutate perché non seguono le migliori pratiche di sviluppo. Il comportamento di alcune delle API correnti non aiuta e persino le migliori app possono riattivarsi e utilizzare le risorse troppo spesso a causa di un processo errato.
I miglioramenti apportati a Svelte in Android Nougat risolvono due problemi evidenti:
- Le app controllano se la rete cambia utilizzando quello che viene chiamato un ricevitore di trasmissione. Quando si verifica una modifica, ogni app che ascolta la modifica tramite il metodo predefinito si riattiva contemporaneamente e tenta di elaborare i dati sulla modifica. Pensa a come il telefono si comporta al primo avvio e tutto tenta di accadere contemporaneamente, e tu avere un'idea del perché questo necessita di una sorta di miglioramento. Quando sono rivolti ad Android 7.0, le app possono solo ascoltare le modifiche alla rete attraverso il thread principale (cosa viene eseguito quando l'app è sveglia e la stai usando) in modo che non si riattivano ogni volta che cambi rete. Ciò utilizzerà meno tempo di RAM e CPU, il che significa che i nostri telefoni funzioneranno meglio e consumeranno meno energia.
- Nelle versioni precedenti di Android, le app erano in grado di ascoltare su un ricevitore di trasmissione simile una foto o un video da scattare. Quando ciò è accaduto, ogni applicazione in ascolto si è svegliata e ha tentato di elaborare i dati contemporaneamente. Come sopra, non è molto buono sul fronte delle prestazioni. In Android 7.0, non è possibile inviare la nuova immagine e le nuove trasmissioni video. Ciò significa che anche se gli sviluppatori non aggiornano le app esistenti, non verrà mai loro detto di svegliarsi quando viene scattata una foto o un video.
Perché le app facciano molte delle cose che vogliamo che facciano, devono rimanere in vita. Diminuire le cose che fanno mentre sono in silenzio in attesa di essere nuovamente attivi eliminando le funzioni non necessarie significa che saranno in esecuzione meno app invece di dormire quando vengono inviate in background.
Project Doze
Per come funzionano le cose adesso, o ami Doze o non vedi Doze fare qualcosa di evidente sul tuo telefono. Questo è a causa del modo in cui funziona.
Quando Doze ha debuttato in Android 6.0, il suo intento era di rinviare l'attività della CPU e della rete mentre lo schermo del telefono era spento, scollegato e immobile. Se tutti e tre i criteri non fossero soddisfatti, Doze non si avviava e le app continuavano a funzionare normalmente. Funzionava benissimo in ufficio e alla scrivania, ma non appena entrò in tasca, Doze smise di fare qualsiasi cosa e i benefici cessarono.
Un Doze a due stadi consente al tuo telefono di consumare meno batteria mentre sei attivo e in movimento
Il cambio di comportamento in Android Nougat è semplice. Doze ora ha due fasi: una è quando lo schermo è spento e il telefono è scollegato, e l'altra è quando anche il telefono è immobile.
Quando il telefono è alimentato solo dalla batteria e lo schermo è rimasto spento per un determinato periodo di tempo, le applicazioni smetteranno di accedere direttamente alla rete e le attività come la sincronizzazione e altri lavori verranno rimandate fino al termine di un periodo di tempo predefinito. Quindi, una breve finestra di manutenzione consente loro di eseguire le normali funzioni in background. Questa parte funziona mentre il telefono è in tasca o soggetto ad altre forme di movimento.
Quando il telefono è rimasto fermo anche per un determinato periodo di tempo, tutte le restrizioni di Doze - cose aggiuntive come le app che si svegliano in background o ascoltano quello che viene chiamato un allarme (non il tipo che ti sveglia al mattino, quelle non sono interessate) o cercando la posizione corrente - vengono applicati in cima alla rete e i rinvii dei lavori. La finestra di manutenzione appare ancora regolarmente, ma tra quelle finestre il telefono è a malapena attivo e non fa molto fino a quando non lo si prende.
Sappiamo quanto bene funziona Doze (quando non è stato modificato dalle persone che hanno costruito il telefono) mentre il telefono è fermo. Ora vedremo anche un vantaggio anche quando siamo in movimento.
Le modifiche a Svelte e Doze risolveranno ogni problema di prestazioni e batteria? La risposta, ovviamente, è no. Ma questi cambiamenti sono passaggi logici che affrontano due cose molto specifiche che dovevano essere affrontate. il risultato si rivelerà migliore di quello che abbiamo ora, anche se non è in grado di risolvere tutto.