Prestazioni multithreading Android

A nessuno piace quando la sua applicazione per smartphone si blocca del tutto mentre recupera informazioni da Internet. Questo è un segno che lo sviluppatore dell'app non ha utilizzato un thread per recuperare i dati e un altro thread per l'interfaccia utente che può essere eseguito indipendentemente. Tale multitasking per migliorare le prestazioni nelle app Android è una parte fondamentale sia del sistema operativo mobile, sia del linguaggio Java in cui gli sviluppatori scrivono le app.

Struttura del sistema Android

Il sistema operativo Android è costruito sul kernel Linux. Questa è una raccolta di componenti firmware che interagiscono direttamente con l'hardware, fungendo da interprete tra il sistema operativo Android e i componenti fisici del dispositivo. Il sistema operativo Android stesso è costituito da librerie software, una struttura per l'esecuzione di programmi e i programmi stessi. Questo framework crea singole macchine virtuali Java, o JVM, per ogni applicazione eseguita sul dispositivo.

Giava

Perché corrono all'interno di JVM, gli sviluppatori Android scrivono le loro app in Java. L'SDK Android offre ai programmatori gli strumenti per accedere ad Android e alle funzionalità del dispositivo, ma tutto il codice sorgente è in Java e segue le convenzioni di codifica della lingua. Ciò include la rotazione di diversi compiti in thread con oggetti diversi che implementano la super classe "Runnable". Il metodo per farlo nelle app Android è lo stesso delle normali applicazioni Java.

multithreading

Sviluppatori applicazioni multithread Android per migliorare le loro prestazioni e usabilità. Spegnendo attività di elaborazione o risorse intensive nei propri thread, il resto del programma può continuare a funzionare mentre queste operazioni intensive del processore finiscono di funzionare. Ciò può includere la separazione del thread per l'interfaccia utente grafica dai thread che recuperano i dati di rete. La JVM gestisce automaticamente queste molteplici attività, quindi gli sviluppatori Android non devono preoccuparsi di ottimizzare le prestazioni dei thread per un particolare set di hardware.

CPU del dispositivo

Mentre la JVM ottimizza automaticamente le prestazioni del multithreading, la velocità effettiva di cui l'utente gode dipenderà dall'hardware del suo dispositivo. A causa della portabilità di Android, l'app potrebbe essere in esecuzione su unità con un singolo core di elaborazione o diversi core di elaborazione. Android può utilizzare più core CPU per il multithreading, ma il kernel e JVM gestiscono tale processo, non lo stesso sviluppatore. Un design multithreading interno migliorerà le prestazioni di base del programma, ma il dispositivo su cui viene effettivamente eseguito determinerà la sua velocità.

Raccomandato