Android 7.0 per sviluppatori: nuove funzionalità, miglioramenti delle prestazioni e altre cose di cui non ti interessa
Pubblicato: 2022-03-11Google ha annunciato formalmente Android 7.0 Nougat qualche settimana fa, ma come al solito dovrai aspettare. La maggior parte degli utenti non riceverà gli aggiornamenti over-the-air (OTA) fino all'inizio del prossimo anno. Molti altri li riceveranno una settimana da mai, poiché alcuni fornitori di dispositivi semplicemente non si preoccupano.
Può sembrare una mia seccatura irritante, ma la frammentazione di Android non è uno scherzo; è stato un serio mal di testa per utenti e sviluppatori per anni. Android 7.0 non risolverà questo problema, il che è un peccato perché abilita una serie di nuove funzionalità e miglioramenti delle prestazioni che gli utenti apprezzerebbero sicuramente.
Gli sviluppatori non dovrebbero sperare, tuttavia; non ci sono cambiamenti di gioco qui. Diamo un'occhiata alle modifiche chiave sotto il cofano di Android e alle nuove opportunità che presentano, dalla più alla meno impattante.
- Nuovo compilatore JIT, complementare al compilatore AOT esistente di ART
- Supporto multi-finestra
- Supporto per l'API Vulkan
- Avvio diretto
- Risposta diretta e notifiche raggruppate
- Modalità di realtà virtuale (VR) Daydream
- Interfaccia utente, ottimizzazione dell'accessibilità e ottimizzazione in background
Questo ovviamente non è un elenco completo di tutte le nuove funzionalità ; Ho optato per i primi sette. Puoi ottenere una panoramica approfondita di Android 7.0 se vai nel paradiso degli sviluppatori di Google. Ti risparmierò la lanugine inutile e ti fornirò informazioni utili in una forma condensata e facile da digerire.
1. Nuovo compilatore JIT, compilazione guidata dal profilo
La compilation JIT è tornata e, sebbene possa sembrare un ritorno ai giorni di Dalvik, non lo è. Questa volta, Google ha aggiunto ad ART un compilatore JIT con profilatura del codice, per integrare il compilatore AOT esistente di ART. E la compilazione guidata dal profilo è la parola d'ordine del giorno.
ART crea un profilo per i metodi caldi di ciascuna app e le varie condizioni del dispositivo. Può precompilare metodi caldi per fornire prestazioni ottimali, ridurre l'utilizzo della RAM, ridurre il consumo energetico e altro ancora.
Un ulteriore vantaggio è l'assoluta velocità di installazioni e aggiornamenti. Poiché la profilazione significa che non ci sono passaggi di ottimizzazione, Google afferma persino che le app di grandi dimensioni, che hanno richiesto pochi minuti per essere installate su Android 6.0, ora possono essere installate o aggiornate in pochi secondi. A titolo personale, spero che questo valga anche per World of Tanks Blitz, perché è l'unico gioco per Android che vale il mio tempo.
Negli ultimi due anni, sono stati fatti molti progressi nell'archiviazione mobile. Molti dispositivi dell'attuale generazione utilizzano un veloce storage UFS 2.0, che offre un notevole incremento delle prestazioni rispetto allo storage eMMC del passato. Android 7.0 dovrebbe consentire agli ingegneri del software di sfruttare appieno questo nuovo standard di archiviazione e sbloccare prestazioni ancora maggiori.
Dai un'occhiata a uno dei miei precedenti post sul blog per scoprire in modo più dettagliato cosa significano i piani del compilatore di Google per gli sviluppatori Android.
Impatto dello sviluppatore: la compilazione guidata dal profilo dovrebbe consentire prestazioni superiori e guadagni di efficienza. Le installazioni e gli aggiornamenti saranno molto più veloci e, grazie all'ampia documentazione di Google, l'implementazione dovrebbe essere relativamente semplice. Meno attesa per tutti. Questa è una buona cosa.
2. Supporto multi-finestra
Aspetta un secondo: non abbiamo già visto le funzionalità multi-finestra su Android? Sì e no; alcuni fork offrivano il supporto multi-finestra, ma ora è nativo. Esistono due implementazioni a schermo diviso: side-by-side e one-above-the-other . Questo è più o meno standard quando si tratta di dispositivi mobili, ma sfortunatamente non ho ancora avuto la possibilità di provarlo.
E, ad essere onesti, non sono mai stato un fan della funzionalità multi-finestra sui dispositivi mobili, perché la maggior parte degli utenti semplicemente non ne ha bisogno.
Tuttavia, non si tratta solo di smartphone. Google sta anche lavorando in silenzio sulle offerte di smart TV, quindi il supporto multi-finestra si estenderà anche a questi dispositivi, ma con una svolta. Con più spazio di visualizzazione con cui giocare, i costruttori di app saranno in grado di utilizzare la modalità Picture-in-Picture sui TV e alcune funzionalità saranno specifiche del fornitore. I fornitori potranno decidere se abilitare o meno la modalità a mano libera . Ciò significa che i fornitori di phablet, tablet e altri dispositivi di grandi dimensioni con display di grandi dimensioni potrebbero consentire agli utenti di giocare con le dimensioni e la posizione della finestra, il che sembra simile all'approccio di Microsoft, implementato per la prima volta su Windows 8.x.
Impatto per gli sviluppatori: il supporto multi-finestra non è un punto di svolta, ma offrirà un'opportunità immediata su tablet Android e smart TV, con quest'ultimo che ottiene anche l'immagine nell'immagine e la possibilità di registrare video. Il problema? Le TV Android non sono molto comuni e i tablet Android non sono mai stati molto popolari, soprattutto quando si tratta di applicazioni di produttività che traggono il massimo vantaggio dal supporto multi-finestra.
E chi lo sa? Forse uno sviluppatore molto brillante creerà un'app per smartphone killer che ne tragga vantaggio. Non trattengo il respiro.
3. API Vulkan
Questo è un altro aggiornamento potenzialmente potente sotto il cofano. Certo, non otterrà tanto l'interesse della stampa e dei consumatori quanto le funzionalità più ingannevoli, ma non commettere errori: l'API Vulkan è un grosso problema.
Se te lo sei perso, l'API Vulkan è una nuova API a basso costo e vicina al metallo per le unità di elaborazione grafica (GPU). E non solo per i giochi 3D, ma anche per il calcolo GPU. Fondamentalmente, è il seguito di OpenGL e dovrebbe consentire prestazioni superiori su processori multithread insieme alla compatibilità multipiattaforma. Dovrebbe anche far risparmiare migliaia di ore di lavoro nello sviluppo dei driver.
Allora perché non sta ottenendo più buzz? Bene, è un nuovo standard e l'introduzione di un'API grafica completamente nuova di solito richiede un paio d'anni. Ecco perché ai consumatori non interessa e perché agli sviluppatori Android dovrebbero importare .
Per saperne di più sull'implementazione di Vulkan in Android 7.0, leggi la panoramica completa dell'API Vulkan che ho scritto all'inizio di quest'anno o controlla le risorse di sviluppo di Google.
Impatto per gli sviluppatori: arriverà il momento dell'API Vulkan. Ridurrà il sovraccarico della CPU, aumentando così le prestazioni della GPU e riducendo il consumo energetico nei giochi 3D. Tuttavia, l'adozione è destinata ad essere lenta, perché stiamo parlando di un'API grafica estremamente potente e complessa, non solo di un ritocco estetico.
4. Avvio diretto
Cosa succede a un dispositivo Android 7.0 bloccato? Funziona in una modalità di avvio diretto sicuro fino a quando l'utente non sblocca il dispositivo.
Per renderlo possibile, Android 7.0 dispone di due posizioni di archiviazione per i dati, con due diverse soluzioni di crittografia:
- L'archiviazione crittografata del dispositivo è disponibile all'avvio diretto ed è possibile accedervi indipendentemente dal fatto che il dispositivo sia bloccato o sbloccato.
- L'archiviazione crittografata delle credenziali è ancora la posizione predefinita ed è disponibile solo dopo che l'utente ha sbloccato il dispositivo.
La maggior parte delle implicazioni sono ovvie: le app che devono funzionare in modalità di avvio diretto , prima che il dispositivo venga sbloccato, devono essere abilitate per farlo. Per impostazione predefinita, le app non possono essere eseguite con l'avvio diretto , ma gli sviluppatori possono registrare diversi componenti dell'app che devono essere eseguiti in questo stato.
Ciò dovrebbe includere le app che forniscono notifiche importanti o programmate, come le app di messaggistica e calendario. Le app che richiedono l'accesso allo spazio di archiviazione devono fare affidamento sull'archiviazione crittografata del dispositivo , che è protetta con una chiave che diventa disponibile dopo che il dispositivo ha eseguito un avvio verificato. L'accesso non si estende ai dati associati alle credenziali dell'utente, ovvero PIN e password. L'archiviazione crittografata delle credenziali non è disponibile fino all'avvio del dispositivo e allo sblocco da parte dell'utente, ma una volta effettuato l'accesso, rimane disponibile fino allo spegnimento del dispositivo.
Impatto per gli sviluppatori: l'avvio diretto dovrebbe migliorare la sicurezza senza compromettere l'esperienza utente e la reattività. L'attuazione dovrebbe essere semplice, ma in alcuni casi comporterà una discreta quantità di lavoro noioso. Tuttavia, suona come un piccolo compromesso per una maggiore sicurezza.
5. Risposta diretta e notifiche in bundle
Sembra che sia correlato all'avvio diretto , ma la risposta diretta è una bestia diversa, consentendo agli utenti di rispondere a messaggi e notifiche dalla schermata di notifica. L' azione di risposta in linea è disponibile tramite un nuovo pulsante nella notifica. In pratica, gli utenti dovrebbero poter rispondere alle notifiche senza accedere alle app e il sistema si occuperà di tutto il resto.

Il sistema può fare la sua magia solo se gli sviluppatori si prendono il loro tempo per abilitare il recupero della risposta in linea, chiamando getResultsFromIntent()
, che restituisce un pacchetto con la risposta di testo richiesta. Con Android 7.0, Google offre agli sviluppatori un nuovo metodo per rappresentare le notifiche in coda: le notifiche in bundle . La soluzione è simile allo stack di notifiche su Android Wear.
Le notifiche in bundle sono proprio questo: missive simili presentate in un unico gruppo, con una gerarchia pulita e con la notifica principale in cima. Gli utenti possono quindi espandere il pacchetto per accedere a più informazioni e intraprendere le azioni appropriate, oppure ignorare facilmente tutto se non sono interessati.
Tuttavia, le notifiche in bundle non sono pensate per l'uso con tutti i tipi di notifiche . Google chiarisce questo punto nelle migliori pratiche di notifica Android. Idealmente, l'approccio dovrebbe essere utilizzato per le applicazioni che generano un grande volume di notifiche simili o correlate, come le app di messaggistica.
A partire da Android 7.0 (livello API 24), gli utenti possono rispondere direttamente ai messaggi di testo o aggiornare gli elenchi di attività dalla finestra di dialogo di notifica. Su un palmare, l'azione di risposta in linea viene visualizzata come un pulsante aggiuntivo visualizzato nella notifica. Quando un utente risponde tramite tastiera, il sistema allega il testo di risposta all'intento specificato (per l'azione di notifica) e lo invia all'app del palmare.
Impatto per gli sviluppatori: la risposta diretta e le notifiche raggruppate dovrebbero migliorare l'esperienza dell'utente in diversi scenari. E a giudicare dalla documentazione di Google, non dovrebbero essere nemmeno difficili da implementare. Ovviamente, e-mail, messaggistica e app social trarranno il massimo dalla risposta in linea, sebbene l'approccio potrebbe essere implementato altrove.
6. Realtà virtuale da sogno ad occhi aperti
Il recente focus di Google sulla realtà virtuale dimostra che il gigante della ricerca non è immune al clamore. Ricordiamo tutti Google Cardboard e Google Glass, che è stata una sfortunata crepa nello spazio della realtà aumentata.
A differenza di Glass, Cardboard non è semplicemente appassito e morto, ma rimane più un esperimento che un vero prodotto. Google ha migliorato il concept e sta per essere rilanciato tra poche settimane, con un nuovo nome: Google Daydream . Daydream è, più o meno, un passo evolutivo. Sembra un auricolare Cardboard ottimizzato, ma è difficile individuare modifiche sostanziali.
Il supporto arriverà presto, nella prossima generazione di telefoni Android, ma designer e sviluppatori possono testare i loro concetti sull'attuale generazione Nexus 6P, attualmente l'unico dispositivo compatibile con Daydream .
Google descrive Daydream come la soluzione VR di nuova generazione per dispositivi mobili, con una migliore interattività e una migliore reattività rispetto a Cardboard. La società afferma di aver apportato miglioramenti a tutti i livelli dello stack Android per migliorare la reattività. Ciò dovrebbe consentire ad Android 7.0 di accedere più rapidamente ai dati del sensore e di eseguire il rendering della scena VR appropriata al momento giusto, riducendo drasticamente la latenza. Daydream include anche un nuovo controller wireless con APP
e pulsanti HOME
.
Sfortunatamente, nessuna di queste modifiche risolverà il problema più grande che deve affrontare la VR: la mancanza di contenuti . La buona notizia è che le cose stanno migliorando e Google promette di fornire più contenuti su Daydream attraverso una serie di partnership che coprono tutto, dalle sitcom ai giochi.
La mia posizione sulla realtà virtuale mobile rimane alquanto prudente, come ho sottolineato nella mia panoramica di Google Cardboard. Le mie opinioni sono state parzialmente confermate da recenti ricerche di mercato, che sembrano suggerire che la domanda di VR rimanga debole. Google non è in grado di affrontare tutti i problemi iniziali che devono affrontare la realtà virtuale mobile oggi. Non è una questione di compiacimento; Google deve aspettare un hardware migliore.
Anche prima di provare Cardboard, sapevo che la durata della batteria e le termiche sarebbero state un problema, così come Google. Andando avanti, questo rimarrà un problema persistente. In effetti, Google afferma chiaramente che le prestazioni termiche del Nexus 6P "non sono rappresentative" dei prossimi telefoni predisposti per Daydream :
Aspettatevi che il 6P riduca termicamente le prestazioni di CPU e GPU dopo un breve periodo di utilizzo, a seconda del carico di lavoro.
Dovremo aspettare che i produttori di chip e i fornitori di smartphone introducano una nuova generazione di prodotti prima di poter davvero trarre vantaggio da Daydream .
Impatto dello sviluppatore: Daydream VR potrebbe offrire alcune nuove possibilità, ma non è così semplice come sembra. Mentre molte aziende tecnologiche stanno salendo a bordo del treno VR, i consumatori no. In questo momento, è un viaggio solitario e costoso.
7. Interfaccia utente, ottimizzazione dell'accessibilità e ottimizzazione dello sfondo
Google ha perfezionato l'interfaccia utente, aggiunto alcune funzionalità e ottimizzato le prestazioni nel tentativo di fornire un'esperienza utente ancora più fluida. Ecco un assaggio delle novità:
- Supporto parziale per circa 100 nuove lingue, insieme a pacchetti linguistici migliorati e nuove varianti locali per le lingue principali come lo spagnolo e l'inglese.
- Più locali nelle Impostazioni, che miglioreranno notevolmente l'esperienza per gli utenti multilocali e bilingui.
- Visualizzazione Web migliorata, il browser in-app. Si baserà sull'APK di Chrome (a partire dalla versione 51) per il rendering delle pagine, riducendo l'utilizzo della memoria e i requisiti di larghezza di banda. L'APK di WebView autonomo non verrà più aggiornato finché il rendering di Chrome è abilitato.
- Aggiornamenti di Android for Work per migliorare la sicurezza e consentire il supporto VPN sempre attivo. Una funzione di commutazione rapida consentirà agli utenti di passare dalla modalità lavoro a quella personale.
- Project Svelte, che è il nome di Google per una serie di ottimizzazioni in background che cambiano il modo in cui le app vengono eseguite per ridurre l'utilizzo della RAM. Google afferma che continuerà ad estendere e aggiornare
JobScheduler
eGCMNetworkManager
, ma allo stesso tempo rimuoverà tre trasmissioni ampiamente utilizzate:CONNECTIVITY_ACTION
,ACTION_NEW_PICTURE
eACTION_NEW_VIDEO
. Se la tua app si basa su uno di essi, dovrai migrare aJobScheduler
. Puoi controllare i dettagli geek su Google. - L'interfaccia utente ottimizza la schermata di benvenuto e il riquadro Impostazioni rapide, che ora include una nuova API che può essere utilizzata in app di terze parti. I miglioramenti delle notifiche includono due nuove API di visualizzazione personalizzate.
- Assistente Google, Google Allo, Google Duo.
Impatto per gli sviluppatori: queste nuove funzionalità e modifiche sono gradite aggiunte ad Android, ma è improbabile che generino molte nuove opportunità.
Android 7.0: qual è il risultato finale?
È giusto dire che Android 7.0 non è un grosso problema per gli sviluppatori. È un miglioramento incrementale, principalmente sull'ottimizzazione. Non faciliterà la creazione di app e servizi sconvolgenti che prima non erano possibili.
Ma non ci vedo niente di sbagliato in questo. Gli smartphone sono già ricchi di funzionalità e le persone si stanno stancando degli espedienti, quindi è comprensibile che Google abbia scelto di concentrarsi sul miglioramento delle prestazioni, dell'efficienza energetica, della sicurezza e dell'esperienza utente complessiva. E, come iOS, Android è ora maturo. Se sei deluso dalla mancanza di nuove funzionalità, ti consiglio di abituarti perché è la nuova normalità .
A pensarci bene, la notizia più importante su Android 7.0 non è il sistema operativo stesso. È una decisione di Google lanciare nuovi telefoni Pixel progettati per sfruttare tutto ciò che il sistema operativo ha da offrire. Dal punto di vista hardware, non sono particolarmente speciali: si basano su una tecnologia standard proprio come i loro predecessori della serie Nexus. Ma il modello di business di Google per Pixel è molto diverso, con l'obiettivo di controllare l'esperienza utente end-to-end e aggiungere valore in modo simile a quello di Apple.
È troppo presto per ipotizzare quale impatto avrà Pixel sul resto dell'ecosistema Android, ma questo è certo: sarà un delicato atto di bilanciamento. Google potrebbe scegliere di riservare alcune funzionalità esclusivamente per i suoi telefoni Pixel interni, ma allo stesso tempo non può esagerare. Non può permettersi di alienare i fornitori di Android e rendere i loro prodotti meno competitivi aggiungendo troppe funzionalità esclusive di Pixel.
Resta da vedere come andrà a finire, ma nel frattempo dovremmo concentrarci su come sfruttare al meglio Android 7.0. In realtà, crea quella 7.1, che è in versione beta e probabilmente verrà rilasciata a breve.