android n
Android N ha tante novità nascoste, scopriamole

Android N è già disponibile nella versione per gli sviluppatori e questo ci ha consentito di poter conoscere le nuove caratteristiche della prossima major release di Google. Multi windows e multitasting, le notifiche e i quick setting rinnovati, le nuove personalizzazioni della UI, ma c’è dell’altro nascosto.

Come ogni anno Google porta sui dispositivi Android una nuova versione dell’OS la quale contiene diversi miglioramenti delle caratteristiche già presenti nelle vecchie versioni e ne aggiunge altre che possano migliorare l’esperienza utente. Molte sono palesi e ben visibili perché fanno parte della parte grafica e delle personalizzazioni, altre sono nascoste.

Grazie al rilascio anticipato rispetto al Google I/O, che si terrà a giugno, è stato possibile vedere in anteprima alcune delle novità di Android N, ma ce ne sono molte altre che sono nascoste all’interno del sistema operativo e che possono modificare notevolmente l’esperienza di utilizzo.

ART JIT

ART (Android RunTime) è una macchina virtuale che Google ha introdotto con Android 4.4 KitKat, prima ancora c’era Dalvik. La differenza principale tra ART e Dalvik è l’approccio alla compilazione che entrambe impiegano – ART si avvale di Ahead-Of-Time (AOT) concetto contrario al Just-in-time (JIT) di Dalvik, che raccoglie le applicazioni prima che esse vengano lanciate. Ciò significa che per la prima installazione ci vorrà più tempo, e le applicazioni occuperanno più spazio nella memoria interna, ma allo stesso tempo, dal momento che l’applicazione sarà completamente compilata appena installata, i tempi di lancio saranno molto più veloci. Allo stesso modo, dal momento che la compilazione avviene solo una volta, al momento dell’installazione, il tasso di utilizzo del processore è più basso, il che si traduce in una migliore durata della batteria e delle prestazioni complessive. 

Con Android N ritorna JIT, ma solo in determinate circostanze. Lo svantaggio principale con la compilazione AOT di ART è l’installazione delle app ogni volta che vengono scaricate sul device. Ogni applicazione è compilata sul dispositivo mentre la si installa invece di essere compilata quando la si esegue, il che rende il lancio di applicazioni e il loro utilizzo più veloce, ma allunga la quantità di tempo necessario per installare nuove applicazioni e aggiornare quelle vecchie. Inoltre, le applicazioni hanno bisogno di essere ri-ottimizzate ogni volta che si installa un aggiornamento. Se si dispone di decine di applicazioni, questo significa che, anche se si installa uno degli aggiornamenti di protezione mensili (di piccole dimensioni), i tempi per l’operazione si allungano moltissimo.

Con Android N si salta questo passaggio. ART ora utilizza la compilazione JIT quando si installa un’applicazione o quando questa riceve un aggiornamento, rendendo molto più veloce le operazioni. Dunque, con la prossima release di Google saranno utilizzati sia AOT che JIT a seconda delle situazioni, sfruttando al meglio entrambe. La compilazione AOT è attivata solo “quando il dispositivo è inattivo e in ricarica”, nel tentativo di preservare la durata della batteria.

Le API delle impostazioni rapide

Android N rinnova il pannello Impostazioni rapide, rendendole più facili da personalizzare e veloci da usare. Quello che forse non sapete è che Android N in realtà comprende una API che gli sviluppatori possono utilizzare per realizzare i propri quick setting.

Google dice che questi tiles “sono riservati per i controlli o azioni che sono urgentemente richiesti o utilizzati frequentemente e non devono essere usati come scorciatoie per lanciare un app.” Se gli sviluppatori non obbediranno a questa regola (molto probabile) si apriranno diverse possibilità.

Risparmio dati

La funzione di Risparmio dati consente agli utenti di una rete di consumare meno larghezza di banda, limitando l’attività di fondo e abbassando cose come dimensioni e qualità dello streaming. Le applicazioni possono essere inserite in una whitelist dall’utente.

Gli sviluppatori dovranno utilizzare ConnectivityManager API di Android per leggere le impostazioni di Risparmio dati del tablet o smartphone e adeguare le loro modalità di utilizzo dei dati di conseguenza. Speriamo che gli utenti non saranno completamente in balia degli sviluppatori per utilizzare questa utile funzione.

Sempre in VPN

Android ha avuto un client VPN per lungo tempo, ma in Android N Google ha implementato un VPN always-on come parte del suo Android for Work. In questo modo che le applicazioni per il lavoro si collegano a Internet tramite una specifica connessione VPN. Gli utenti finali e gli amministratori del dispositivo dovrebbero apparentemente essere in grado di configurare tale connessione e dovrebbe funzionare indipendentemente dall’applicazione del client VPN. Questo dovrebbe essere un elemento di sicurezza per le persone che assolutamente non vogliono comunicare in chiaro sulle reti Wi-Fi potenzialmente pericolose (quelle pubbliche, ad esempio).

Boot diretto

A partire da Android 6.0, tutti i nuovi dispositivi Android che soddisfano i requisiti minimi di performance hanno lo storage crittografato. Android N rende le cose un po’ più complicate.

Lo storage con Android N è ancora cifrato, ma i dati possono essere memorizzati in due posizioni diverse. Uno è “credential encrypted storage“, che può essere sbloccato solo quando l’utente ha sblocca il suo telefono. L’altro, “device encrypted storage“, può essere letto dopo l’avvio del dispositivo, ma prima che sia completamente sbloccato. Questo nuovo post-boot nello stato di pre-sblocco si chiama modalità di “Boot diretto“.

Per impostazione predefinita, le applicazioni non funzioneranno in modalità di avvio diretto (Direct Boot). Ma gli sviluppatori saranno in grado di registrare i componenti delle loro applicazioni per l’esecuzione in questa modalità. La liste di esempi di Google sono:

  • App con notifiche programmate, come ad esempio applicazioni sveglia;
  • App che forniscono importanti notifiche agli utenti, come app per gli SMS;
  • App che forniscono servizi di accessibilità, come Talkback.

Lo storage criptato dovrebbe proteggere i dati in modo che rimuovendo il flash chip dal telefono, collegando il telefono ad un computer in modalità di ripristino o tentando di infettare il telefono con un qualche tipo di rootkit non è possibile estrarre i dati da esso. Ma se il device può eseguire un “avvio verificato” (se il bootloader non è stato manomesso in qualche modo) allora alcuni dati potrebbero essere esposti a terzi. Il rischio più grande è per le notifiche; la cronologia dei messaggi potrebbe essere protetta, ma le nuove notifiche delle applicazioni configurate per l’utilizzo del Direct Boot potrebbero essere esposte a terzi.

OpenGL ES 3.2 (ma non Vulkan, almeno non ancora)

Android N porta il supporto ufficiale per l’OpenGL ES 3.2 graphics API alla piattaforma, ed è un bene. Ma, in realtà, non porta molte nuove funzionalità su Android, dal momento che OpenGL ES 3.1 e il pacchetto di estensioni di Android sono stati già inseriti in Lollipop e l’OpenGL ES 3.1 più il pacchetto di estensioni è uguale (sostanzialmente) all’OpenGL ES 3.2.

Il problema più grande è Vulkan. Google ha già annunciato che Vulkan servirà come API grafiche di medio livello su Android, ma non è ancora indicata nella lista delle caratteristiche ufficiali di Android N.

È probabile che Vulkan, anche se annunciato già da tempo, è stato formalmente perfezionato solo il mese scorso. L’hardware più recente delle GPU di ARM e Qualcomm già supportano Vulkan.