Android, come rimarcato più volte, è un sistema basato su kernel Linux, ma gira come una sorta di grande virtual machine. Esso infatti sfrutta solo il cuore dell’open-source, ma nella pratica è una grande java box.
Senza entrare nel merito del code Java, si può tranquillamente affermare che questa soluzione non è la migliore via per l’esecuzione dei programmi: di base infatti un software scritto per Java occupa 1 MB di RAM, quando magari potrebbe occupare solo 200 KB.
Questo significa perdita di prestazioni, maggiore consumo di batteria (perché il processore fa più cicli di clock per effettuare i calcoli dell’emulazione e quindi necessita di più risorse elettriche) e quindi un telefono più lento. I sorgenti di Android sono in Java, come anche la base di tutti i programmi mentre fossero in C# e girassero direttamente sull’hardware del telefono senza intermediari software sarebbe decisamente tutto più reattivo.
Questo per l’utente significa dotarsi di un telefono con 1GHz di procio quando ne basterebbe uno da 400MHz se il codice fosse ben compilato. In aiuto però arrivano emulatori (una virtual machine è questo che fa, emula un codice per farlo girare come un altro su un hardware scelto) come Dalvik Turbo che sono indispensabili per lo scopo di minimizzare il lag di esecuzione dei programmi. Con questa VM infatti si riesce spesso a triplicare la velocità standard dando un buon livello di usabilità al telefono.
Link del produttore.




