Logo sl.androidermagazine.com
Logo sl.androidermagazine.com

Android a do z: kaj je dalvik

Anonim

Kaj je Dalvik? Slišimo, da se ta beseda na internetu veliko vrže na splet, ko govorimo o Androidu in njegovem notranjem delovanju. Čeprav ni enostavne razlage, ki jo lahko navedemo v samo nekaj odstavkih, lahko zabeležimo osnove in vas usmerimo v pravo smer, če morate nahraniti svojo nervozno stran. V najpreprostejših besedah ​​je Dalvik virtualni stroj, ki poganja aplikacije in kodo, zapisano na Javi. Običajni prevajalnik Java pretvori izvorno kodo (zapisano kot besedilne datoteke) v bajt kodo, nato pa jo zbere v.dex datoteko, ki jo lahko Dalvik VM bere in uporablja. V bistvu se datoteke razreda pretvorijo v datoteke.dex (podobno kot datoteka jar, če uporabljamo standardni Java VM) in jih nato prebere in izvrši virtualni stroj Dalvik. Podvojeni podatki, uporabljeni v datotekah razreda, so v izhodu.dex vključeni le enkrat, kar prihrani prostor in porabi manj režijskih stroškov. Izvršljive datoteke je mogoče znova spremeniti, ko namestite aplikacijo, da bodo stvari še bolj optimizirane za mobilne naprave. Zaradi izmenjave vrst bajtov in povezovanja podatkovnih struktur in knjižnic funkcij v rokah se datoteke zmanjšajo in se bolje izvajajo v naših napravah. Dalvik VM je bil napisan iz kvadrata z mislijo na Android.

Zmeden še? Ne počutite se slabo, geeky govorjenje o programiranju ponavadi ima tak učinek. Pomislite na to tako - ko gradite aplikacijo Java za računalnik, Java Virtual Machine zažene sestavljeni izhod izhodne kode. Zato Java deluje v skoraj vseh operacijskih sistemih. Dalvik je mobilna optimizirana različica Java navideznega stroja, izdelana s kodo iz projekta Apache Harmony, ki je v naši omejeni strojni opremi odprtokodni in deluje bolje kot standardni Java VM, ki je zasnovan tako, da lahko zaženete več kot eno primerek VM hkrati - tj. večopravilnost. Ker je Dalvik odprtokoden, so ga prenesli tudi v druge operacijske sisteme, na primer na BlackBerry PlayBook. Precej zapleteno, precej prekleto kul in Oracle (podjetje, ki je Java kupilo od Sun-a) ga sovraži.

Android uporablja Dalvik, ker čeprav je licenca za standardni Java Virtual Machine GPL2 (brezplačna in odprtokodna), ko jo namestite v mobilno napravo in uporabljate Java Micro Edition, ni. Velik spor med Googlom in Oracleom temelji na Dalviku. Google trdi, da je bil napisan v okolju "čiste sobe", ne da bi uporabil nobeno Oracleovo kodo, Oracle pa se s tem ne strinja. Trdimo, da nimamo pojma, veseli nas, da deluje tako dobro, kot se.