In molti si chiedono perché alcuni dispositivi, come il Moto X, nonostante le specifiche tecniche, continuino a ottenere buoni risultati nei benchmark. La risposta è molto semplice: Motorola, a differenza di altri produttori di smartphone, utilizza librerie Bionic e Dalvik ottimizzate. Non stiamo parlando, dunque, di custom ROM o kernel personalizzati, ma di naturali implementazioni da parte di un’azienda per rendere più competitivo il proprio prodotto.
Ad essere precisi, per ottimizzare le prestazioni attraverso queste librerie è necessario avere un device Google Nexus con CPU prodotta da Qualcomm, come Nexus 4, Nexus 5 e Nexus 7. Effettuare queste operazioni su altri device non porterebbere alcun miglioramento. Tuttavia, prima di andare a vedere nello specifico come installare le librerie Bionic e Dalvik, vediamo un po’ cosa sono.
[divider]
Bionic e Dalvik: cosa sono?
Bionic, nonostante sia stata creata in origine da Google per l’utilizzo su Android (libbionic), deriva dalla libreria standard C di GNU (glibc). Le differenze non mancano, poiché Bionic è una libreria molto più piccola in quanto è utilizzata per dispositivi mobili e CPU meno potenti. Essa, quindi, viene utilizzata per operazioni matematiche basilari e per le consuete operazioni di memoria.
Passiamo ora a Dalvik. Molti di voi ne avranno sentito parlare, ma in pochi sanno di cosa si tratta. Dalvik è una macchina virtuale, simile per certi aspetti alla Java Virtual Machine, con una differenza sostanziale: anziché lavorare con bytecode, lavora con codice DEX (Dalvik Executable). Inoltre, un’altra importante caratteristica di Dalvik, che oramai è uno dei componenti più importanti di Android, riguarda il fatto di essere un compilatore just-in-time, ossia in grado di tradurre da DEX in codice macchina a run time.
Per chi non lo sapesse, questo approccio è stato completamente rinnovato nella nuova release Android 4.4 KitKat, con la quale ha debuttato il compilatore ART al posto di Dalvik. ART ha abbandonato la compilazione just-in-time per una ahead-of-time (AOT) più efficiente nonostante un maggiore consumo di memoria secondaria. Infatti, ART compila le applicazioni già in fase di installazione occupando maggiore spazio, ma ottenendo prestazioni nettamente migliori. Al momento, ART non è compatibile al 100% con tutti i dispositivi Android per problemi di integrazione con alcuni framework.
[divider]
Perché non utilizzare Bionic e Dalvik di default?
A questo punto, viene naturale la domanda: perché non utilizzare le librerie nelle ROM di stock? Effettuare queste personalizzazioni manualmente ha sempre i suoi rischi, quindi perché non ci pensano i produttori?
La risposta non è poi così difficile. Innanzitutto, le librerie ottimizzate Dalvik provengono dal Moto X e in questo caso parliamo di codice sorgente closed source quindi ha perfettamente senso il perché Google non le inserisce nell’Android Open Source Project, mentre per quanto riguarda quelle ottimizzate Bionic, esse provengono dal Code Aurora Foundation, il codice è open source, tuttavia anche in questo caso la motivazione è abbastanza logica: perché utilizzare librerie ottimizzate solo per alcuni device?
Ad ogni modo, la morale non cambia: se volete ottimizzare il vostro device Nexus basato su chip prodotto da Qualcomm, utilizzare librerie ottimizzate Dalvik e Bionic può essere una soluzione anche migliore di ART.
[divider]
Come installare le librerie
Installare le librerie ottimizzate Dalvik e Bionic non è molto difficile, infatti potete scaricare i file zip direttamente dai link qui di seguito e spostarli sulla microSD del vostro terminale dopodiché i passi da seguire per il flash sono semplici:
- Entrare nella recovery del dispositivo;
- Installare i file zip che avete inserito precedentemente nella memoria esterna.
Di seguito trovate i link per il download delle librerie ottimizzate più i due file per effettuare l’operazione inversa nel caso per il vostro smartphone arrivi un aggiornamento OTA che, dopo il flash, non potrete più effettuare:
- Librerie ottimizzate Dalvik: 4.4_qc-optimized_dalvik
- Librerie ottimizzate Bionic: 4.4_qc-optimized_bionic
- Stock revert per firmware KOT49E: KOT49E_stock_revert
- Stock revert per firmware KRT16S: KRT16S_stock_revert
Naturalmente, è necessario avere una recovery personalizzata per effettuare le operazioni e, prima di iniziare, un backup non fa mai male. Inoltre, è consigliabile effettuare il wipe cache e dalvik cache dopo aver installato i due file. Per ogni dubbio o problema, non esitate a chiedere nei commenti.