„Dalvik“: Munur á milli breytinga
Ásgeir IV. (spjall | framlög) |
Ásgeir IV. (spjall | framlög) |
||
Lína 48: | Lína 48: | ||
}}</ref> |
}}</ref> |
||
⚫ | Dalvik-keyrsluskrám kann að vera breytt aftur þegar þær eru settar upp á meðbæru tæki. Í skyni frekari [[bestun (tölvufræði)|beztunar]] kann [[endianleiki|bætaröð]] að vera skipt út í vissum gögnum, einföldum [[gagnabygging]]um og [[fall (tölvufræði)|falla]]-[[forritasafn|söfn]] kunna að vera [[Innlínufall|innlínu]]-[[tengiforrit|tengd]] og tómum klasahlutum kann að vera [[skammhlaupsmat|skammhleypt]], til dæmis. |
||
The Dalvik executables may be modified again when they get installed onto a mobile device. In order to gain further [[Optimization (computer science)|optimizations]], [[endianness|byte order]] may be swapped in certain data, simple [[data structure]]s and [[Function (computer science)|function]] [[Library (computing)|libraries]] may be [[Linker (computing)|linked]] [[Inline function|inline]], and empty class objects may be [[Short-circuit evaluation|short-circuited]], for example. |
|||
⚫ | Frá og með [[Android]] 2.2 hefur Dalvik [[Tímanleg þýðing|tímanlegan þýðanda]]<ref>{{cite web|url=http://www.androidpolice.com/2010/05/11/exclusive-androidpolice-coms-nexus-one-is-running-android-2-2-froyo-how-fast-is-it-compared-to-2-1-oh-only-about-450-faster/|title=Nexus One Is Running Android 2.2 Froyo. How Fast Is It Compared To 2.1? Oh, Only About 450% Faster|date=2010-05-13|accessdate=2010-05-21}}</ref>. |
||
⚫ | Dalvik-keyrsluskrám kann að vera breytt aftur þegar þær eru settar upp á meðbæru tæki. Í skyni frekari [[bestun (tölvufræði)|beztunar]] kann [[endianleiki|bætaröð]] að vera skipt út í vissum gögnum, einföldum [[gagnabygging]]um og [[fall (tölvufræði)|falla]]-[[forritasafn|söfn]] kunna að vera [[Innlínufall|innlínu]]-[[tengiforrit|tengd]] og |
||
Þar eð Dalvik er beztuð fyrir litlar minniskröfur, hefur hún viss séreinkenni sem greina hana frá öðrum stöðluðum sýndarvélum:<ref>{{cite web |
|||
⚫ | |||
Being optimized for low memory requirements, Dalvik has some specific characteristics that differentiate it from other standard VMs:<ref>{{cite web |
|||
| url=http://blogs.sun.com/jrose/entry/with_android_and_dalvik_at |
| url=http://blogs.sun.com/jrose/entry/with_android_and_dalvik_at |
||
| title=with Android and Dalvik at Google I/O |
| title=with Android and Dalvik at Google I/O |
||
Lína 64: | Lína 62: | ||
* It uses its own bytecode, not [[Java bytecode]] |
* It uses its own bytecode, not [[Java bytecode]] |
||
Ennfremur hefur Dalvik verið hönnuð þannig að tæki geti keyrt fleiri en eitt tilvik sýndarvélarinnar á skilvirkan hátt.<ref> |
|||
Moreover, Dalvik has been designed so that a device can run multiple instances of the VM efficiently.<ref> |
|||
{{cite web |
{{cite web |
||
| url=http://developer.android.com/guide/basics/what-is-android.html |
| url=http://developer.android.com/guide/basics/what-is-android.html |
Útgáfa síðunnar 26. september 2010 kl. 18:40
Dalvik | |
Hönnuður | Dan Bornstein |
---|---|
Stýrikerfi | Linux |
Verkvangur | Android |
Notkun | Sýndarvél |
Leyfi | Apache License 2.0 |
Vefsíða |
Dalvik er heiti sýndarvélar Android-stýrikerfisins frá Google. Dalvik er innbyggður hluti Android, sem er aðallega notað í meðbærum tækjum svo sem farsímum, töflutölvum og netfartölvum. Áður en Android-forrit eru keyrð, er þeim breytt yfir á hið samþjappaða Dalvik Executable (.dex)-snið, sem er hannað fyrir kerfi með takmarkað vinnsluminni og örgjörvahraða.
Dalvik-sýndarvélin er, eins og Android að öðru leyti, opinn hugbúnaður. Upprunalegur höfundur hennar er Dan Bornstein, sem nefndi hana eftir bænum Dalvík þaðan sem hann er ættaður að langfeðgatali.[1][2]
Bygging
Ólíkt flestum sýndarvélum og sönnum Java-sýndarvélum sem eru staflavélar, er Dalvik-sýndarvélin skráarvél.
Skiptar skoðanir eru um hvor gerðin, staflavélar eða skráarvélar, hefur fleiri kosti[3] Almennt talað þurfa vélar af staflagerð að nota skipanir til að hlaða gögnum á staflann og meðhöndla þau, og þurfa því fleiri skipanir en skráarvélar til að inna sama hástigsmálið, en skipanirnar í skráarvél verða að kóða uppruna- og áfangastaðarskrárnar og eru því yfirleitt stærri. Þessi mismunur skiptir mestu máli fyrir sýndarvélartúlka en hjá þeim er oppkóða-tímaveiting yfirleitt dýr sem og aðrir þættir er varða tímanlega þýðingu.
Tól er nefnist dx er notað til að breyta sumum (en ekki öllum) Java-klasa-skrám yfir á .dex-sniðið. Margir klasar rúmast í einni .dex-skrá. Strengir og aðrir fastar sem notaðir eru í marg-klasa-skrám koma aðeins fyrir einu sinni í .dex-frálagi til að spara pláss. Java-bætakóða er einnig breytt yfir í annarskonar skipanamengi sem Dalvik-sýndarvélin notar. Óþjöppuð .dex-skrá er venjulega nokkrum prósentum minni en þjappað Java-gagnasafn sem leitt er út frá sömu .class-skrám.[4]
Dalvik-keyrsluskrám kann að vera breytt aftur þegar þær eru settar upp á meðbæru tæki. Í skyni frekari beztunar kann bætaröð að vera skipt út í vissum gögnum, einföldum gagnabyggingum og falla-söfn kunna að vera innlínu-tengd og tómum klasahlutum kann að vera skammhleypt, til dæmis.
Frá og með Android 2.2 hefur Dalvik tímanlegan þýðanda[5].
Þar eð Dalvik er beztuð fyrir litlar minniskröfur, hefur hún viss séreinkenni sem greina hana frá öðrum stöðluðum sýndarvélum:[6]
- The VM was slimmed down to use less space
- The constant pool has been modified to use only 32-bit indexes to simplify the interpreter
- It uses its own bytecode, not Java bytecode
Ennfremur hefur Dalvik verið hönnuð þannig að tæki geti keyrt fleiri en eitt tilvik sýndarvélarinnar á skilvirkan hátt.[7]
Tilvísanir
- ↑ Dagbókarfærsla sem tilgreinir tilkomu heitisins
- ↑ „Google Calling: Inside Android, the gPhone SDK“. onlamp.com. Sótt 5. febrúar 2008.
- ↑ Shi, Yunhe; Gregg, David; Beatty, Andrew; Ertl, M. Anton (11. júní 2005). „Virtual Machine Showdown: Stack Versus Registers“ (PDF). Sótt 22. desember 2009.
- ↑ Bornstein, Dan (29. maí 2008). „Presentation of Dalvik VM Internals“ (PDF). Google. bls. 22. Sótt 16. ágúst 2010.
- ↑ „Nexus One Is Running Android 2.2 Froyo. How Fast Is It Compared To 2.1? Oh, Only About 450% Faster“. 13. maí 2010. Sótt 21. maí 2010.
- ↑ Rose, John (31. maí 2008). „with Android and Dalvik at Google I/O“. Sótt 8. júní 2008.
- ↑ Google (13. apríl 2009). „What is Android?“. Sótt 19. apríl 2009.