Firma FlexyCore opracowała produkt o nazwie droidBooster współpracujący z dowolną platformą Android 1.x – 2.x na każdej platformie sprzętowej (ARM / ATOM / MIPS). Ma on zwiększyć tempo wykonywania kodu Java poprzez kompilację do natywnego kodu; w odróżnieniu od kompilatora JIT kompilacja jest wykonywana jednorazowo przed spakietowaniem aplikacji. FlexyCore podaje, że droidBooster na Eclair uzyskuje wynik 11,6 CaffeineMark/MHz, podczas gdy kompilator JIT z Froyo uzyskuje wynik 4,3. Wyniki uzyskano na Nexus One i HTC Desire z procesorem Snapdragon QSD8250. Więcej informacji na stronie FlexyCore .
Jak to działa?
Tradycyjnie:
1. Programista pisze kod źródłowy Java.
2. Kod źródłowy Java jest kompilowany do Java bytecode.
3. Java bytecode jest konwertowany na Dalvik Executable.
4. Dalvik Executable jest interpretowany przez Dalvik VM lub kompilowany w locie przez kompilator JIT.
Z użyciem droidBooster:
1. Programista pisze kod źródłowy Java.
2. Kod źródłowy Java jest kompilowany do kodu natywnego (być może ze stadiami pośrednimi - Java bytecode albo RTL).
3. Kod natywny jest wykonywany bezpośrednio przez procesor.
Zaletą jest szybsze wykonywanie kodu, zwłaszcza w sytuacji gdy często wykonywany kod zmieści się w całości w pamięci cache.
Główną wadą jest utrata przenośności. Aplikacja będzie musiała być wydawana albo w kilku wersjach dla poszczególnych platform (wersja OS / architektura sprzętowa), albo pakiet instalacyjny będzie zawierał kilka(naście) binarek dla wszystkich kombinacji wersja OS / architektura sprzętowa wraz z kodem Dalvik Executable rozpoznającym platformę i wybierającym binarkę do zainstalowania.