Home > BLOG > ANDROID > [Guida] Abilitare il Dalvik JIT sul Motorola Milestone Android 2.1

[Guida] Abilitare il Dalvik JIT sul Motorola Milestone Android 2.1

Gli amici di AndroidLab hanno pubblicato una guida su come abilitare il Dalvik JIT, presente nella release di Android 2.2 FroYo, anche sui dispositivi con Android 2.1 Eclair, come il Motorola Milestone…

Prima di tutto, spieghiamo brevemente cos’è il Dalvik.

Il Dalvik è la virtual machine presente nei dispositivi Android, questa virtual machine è capace di avviare le applicazioni convertite in .dex, un formato di eseguibili creato appositamente per i sistemi che godono di processori non troppo spinti e un quantitativo di memoria poco elevata.

Dalla versione di Android 2.2 FroYo in poi, il Dalvik è fornito del JIT, ovvero del Just-In-Time compilator, ottimizzato appunto per i sistemi informatici di bassa potenza. Il Dalvik quindi è stato alleggerito ulteriormente per occupare ancora meno risorse, il constant pool è stato semplificato per utilizzare solamente indici a 32bit, in modo da velocizzare l’interprete, ora utilizza il proprio bytecode invece che quello Java (più pesante), inoltre il Dalvik ora è in grado di gestire multiple istanze della Virtual Machine in modo efficiente.

Cosa significa tutto questo?

In parole povere, d’ora in avanti, grazie a questo JIT, i dispositivi con Android, a parità di hardware, potranno ottenere prestazioni fino a 2 volte superiori rispetto alla versione precedente del Dalvik.

Ed ora, grazie ai developer di XDA e all’ulteriore lavoro dei ragazzi di AndroidLab, potremo fornire il nostro Milestone (o altro terminale con Android 2.1) di questa fantastica feature.

A voi la guida presa da AndroidLab:

EnricoDroid scrive:

Visto che per molti può risultare difficile o non si vuole andar a rischiare di incasinare file di sistema solo perchè si è letto male un passaggio, noi di AndroidLab veniamo in vostro soccorso e abbiamo creato dei semplici script da aggiungere alla OpenRecovery del GOT (scaricabile qui).

Gli scripts sono due, il primo abilita il JIT (dopo aver fatto il backup di tutti i file che si sostituiscono) ed il secondo ripristina i file originali nel caso voleste tornare indietro. Potrete fare il tutto sempre dalla OpenRecovery, senza dover collegare il terminale al pc.

Per prima cosa, come sempre, prima di fare qualsiasi modifica fate un nandroid backup di tutto il vostro sistema, perchè Murpy insegna che se qualcosa può andare storto, ci andrà.

Naturalmente si da per scontato che avete già OpenRecovery presente, se non l’avete prima di tutto mettetela e poi procedete.

Ora scaricate questo pacchetto contenente tutto il necessario: OpenRecovery JIT Enabler/Disabler (Mirror alternativo, utilizzate solo se Mediafire non va).
Una volta scaricato estraetelo e copiate pari pari la cartella OpenRecovery sulla vostra SD Card unendo i contenuti, in questo modo andrete a mettere tutto al posto giusto.

Fatto questo, riavviate in Recovery e applicate l’update.zip per entrare nella OpenRecovery.
Una volta avviata la OpenRecovery entrate nel Menu Miscellaneus->Run Script

Se volete abilitare il JIT, avviate JIT.sh che vedete sul display
Se volete disabilitare il JIT, avviate Restore-noJIT.sh seguendo sempre il procedimento espresso sopra.

Entrambi gli script fanno il wipe della dalvik cache, che è necessario, quindi all riavvio del sistema dovrete aspettare che si rigeneri.

Più semplice di così non potevamo proprio farlo.

In teoria questa modifica si può applicare a tutti i terminali su cui gira Android 2.1 con rom deodex, in pratica è testata solo sul Milestone quindi provate se volete a vostro rischio e pericolo.

Il tutto è stato provato su Milestone con Android 2.1 build.38 e hack della dalvik cache applicato, i miglioramenti si vedono molto se avete la frequenza di default o comunque frequenze basse.
Personalmente prima senza JIT con Linpack avevo circa 4MFlops con JIT 8+ MFlops a 650Mhz, ma i miglioramenti dipendono da applicazione ad applicazione.
Per quanto riguarda la stabilità non l’ho testata ancora a lungo per esprimermi.

Ovviamente ne informaniaci, ne AndroidLab possono essere resi responsabili in caso di malfunzionamenti, ogni persona che segue la guida si prende la responsabilità delle proprie azioni 😉

Se volete dare un’occhiata alla guida originale, con tanto di screenshots, ecco il link

Termini di ricerca frequenti: