Címkék

2012. január 31., kedd

Mi az a Dalvik?

Az Android rendszer felépítése nem túl egyszerű, viszont igen trükkös megoldásokkal lehet találkozni. Az egyik ilyen a Dalvik virtuális gép. Pár szóban nézzük, hogy mi is ez pontosan!
Az Android programok nem natív kódban íródnak (például C-ben), hanem Java nyelven. Erre azért van szükség, mivel az androidos gyártók nagyon széles palettáról válogathatnak össze hardvert az eszközeikhez, és egyáltalán nem biztos, hogy ha egy natív kódú programot lefordítunk, és futtatunk egy telefonon, akkor az a másik telefonon (más hardveren) is futni fog. Mivel a processzor architektúrája lehet eltérő, ezért alkalmazni kell egy Java interpretert, fordítót. Ezt legegyszerűbben egy virtuális géppel tehették meg az operációs rendszer fejlesztői, ez lett a Dalvik virtuális gép. Az már csak egy érdekesség, hogy azért lett Dalvik a neve, mert az eredeti programot fejlesztő, izlandi származású Dan Bornstein ősei a szigetország Dalvík nevű falujában éltek.
A Dalvik gép legnagyobb előnye a sebessége. Az Androidra írt programok futás előtt Dalvik Executable (.dex) formátumra konvertálódnak, és így futnak. Ezzel processzoridőt, és memóriát lehet megspórolni. A másik sebességnövelő tényező a 2.2-es, Froyóban bemutatkozott JIT (Just In Time) fordító. A lényege az, hogy a program indításakor nem kell az egész alkalmazásnak lefordulnia, hanem csak futásidőben, részenként fordítódik. Ezzel akár három-, négyszeres sebességnövekedést is elérhettek a fejlesztők.
Akit bővebben érdekel az Android rendszer felépítése, az Android fejlesztői weboldalán találhat még információt.

2 megjegyzés: