Iyo Dalvik Virtual Machine (kana DVM) ndiyo inoshanda sisitimu inosimbisa maapplication. AndroidInomhanya iyo Dalvik bytecode. Android inogona kushandiswa nemitauro yakasiyana-siyana, asi inonyanya kugadzirirwa mahwendefa nenharembozha. Zvishandiso zveAroid zvine akawanda ekuvaka, anonzi zvidimbu. Ivo vanogona kusanganiswa nevamwe kugadzira yakazara application. Ngatitarisei kuti DVM chii uye kuti ingabatsire sei Android.
Zvishandiso zveAroid zvinoshandisa iyo DVM semuchina wavo wepazasi chaiwo. Dalvik bytecode ndiyo iripasi chaiyo muchina unomhanyisa Android application. Inogadzirwa nemapurogiramu eJava. Kunyangwe zvingave zvisina kukurumidza kana kushanda sezvazviri michina chaiyo Java ye Android inopa yakagadziridzwa bhatiri hupenyu, yakagadziridzwa ndangariro mashandisiro, uye yakagadziridzwa mashandiro. Dalvik VM inomhanyisa maapuro eAroid mumuchina wemhando yepamusoro, wakavimbika chaiwo.
Ko Dalvik chaiyo komputa ipepa here?
Muchina chaiwo unoreva komputa chaiyo, inova application yekombuta chaiyo. Unogona kushandisa chero chirongwa chakagadzirirwa. Dan Bornstein akagadzira iyo Dalvik chaiyo komputa ye Android. Iyi purojekiti ndeye open source. Chishandiso ichi chinogona kumhanyisa akawanda maapplication kamwechete uye chakaiswa kune mamwe mapuratifomu. operating systemsMuchina weDalvik chaiwo wakakosha pakuita zvakawanda uye kuchengetedza bhatiri.
Dalvik, kusiyana neJava chaiyo muchina, inogona kumhanya akawanda zviitiko kamwechete. Migumisiro ye subexpressions inogona kuchengetwa. Dalvik yakakosha nekuti inoshanda pamidziyo yese yeAroid. Heino chikonzero nei Android Developers vachiida. Kana wangoisa Dalvik, iva nechokwadi chekuishandisa. Uchafara kuti wakadaro.
Dalvik ndiyo chaiyo muchina unomhanyisa iyo Android inoshanda sisitimu. Zvikumbiro zvaisazofamba zvakanaka kana kuparara pasina iyo. Android's ARM architecture inobvumira Dalvik kumhanyisa maapplication munzvimbo yakamira. Izvi zvinoderedza kushandiswa kwezviwanikwa zvehurongwa. Mu Android 4.0, yakatangira, iyo ART virtual muchina, yakaitwa kuti iwanikwe. Ose ari maviri anoshandisa JIT uye AOT kuunganidzwa, nepo ART chaiwo michina yakatsiva Dalvik mune dzakazotevera shanduro. Android 5.0, inonziwo "Lollipop," yakashandisa musanganiswa wezviviri. Iyo DVM inogona kumhanyisa Java-based zvirongwa, izvo zvinoshandurwa kuita bytecode kuti ishandiswe mune yeDalvik yekuraira seti. Mapurogiramu eDalvik anokurumidza kupfuura mapurogiramu eART uye anoshandisa ndangariro shoma.
ART neDVM zvinorevei?
Kuti unzwisise Android application architecture, zvinhu zviviri zvinodiwa: DVM uye ART. Chikamu cheART chakagadzirirwa kubvumidza kuitwa kweakawanda mashini emagetsi pamidziyo yakaderera-zviwanikwa. Kumhanyisa maapplication, inoshandisa iyo DEX bytecode fomati. Iyi bytecode fomati yakagadziridzwa kuti ive nediki ndangariro tsoka. Inoita kuti iyo mushandisi interface (UI) iwedzere kuterera. Iyo yepamutemo Android zvinyorwa ine rumwe ruzivo nezve izvi zvikamu.
Dalvik yaive yekutanga kuisirwa kweiyo Android Runtime. Kukwirisa mashandisirwo eRAM, yakashandisa ingori-mu-nguva yekuunganidza maitiro. Android L yakawedzera AOT kuti ikurumidze kuunganidza, asi zvakakonzera kushandiswa kweRAM kwepamusoro uye nguva refu yekuisa. JIT yakadzoserwa muAndroid N. Profile-guided compilation (PGA) yakavandudzwa mashandiro ekodhi inowanzoitwa. Kunyangwe ese ari maviri ART neDVM achishanda nebytecode uye achigovana akafanana maficha kuJIT, anosiyana nayo.
Dalvik anoshandura DEX bytecode kuita kodhi yekuzvarwa. More bytecode inounganidzwa uye inochengetwa sezvo maitiro anofambira mberi. Mhedzisiro yacho inokurumidza kuuraya kodhi. ART haidi kuunganidzwa kweJIT, saka zvinotora nguva yakareba kuisa app. ART inoshandisa ndangariro shoma pane Dalvik. Unogona kuvhiringika pamusoro pekusiyana kwezvikamu izvi. Verenga kuti udzidze mashandiro avanoita pa Android.
DVM inotsanangurwa sei?
Iyo DVM, yakasarudzika mhando yemuchina chaiwo unopihwa ne Android, mumwe muenzaniso. Yese Android app ine yayo DVM. Iyo yakajairwa Android app inogona kusvika gumi maDVM. Kunyangwe iyo dispatcher ine basa rekutonga iyo Android Chiitiko lifecycle, pane misiyano pakati peDVMs (kana ARTs). Nepo yekutanga inotora ndangariro shoma, iyo yekupedzisira inoshandisa yakawanda. DVM uye ART zvikumbiro zvinotora ndangariro shoma, zvichiteerana.
Vagadziri veAroid application vanonyora kodhi yavo mubytecode vobva vanyora vachishandisa iyo Dalvik chaiyo komputa. Izvi zvakasiyana neJava bytecode, iyo inogadzirwa neJava virtual komputa. Izvo zviviri zvakasiyana uye hazvigone kuita profil-based runtime optimizations. AOT compilers inogona kuita yepamusoro kodhi optimizations. Nekudaro, hazvigone kushandiswa mune ese maAroid application.
Iyo Dalvik chaiyo muchina we Google Dalvik irejista-yakavakirwa virtual komputa inomhanyisa mapurogiramu eJava. Iwo marejista eCPU anoshandiswa kune operands, uye chaiwo muchina unoaita. Mirayiridzo haina "kusundidzirwa" kana "kusundidzirwa shure"; vanogona kutakurwa pamapuratifomu. Dalvik inokwanisa kuchengetedza mhedzisiro yezvakajairwa subexpressions, chimwe chinhu stack-based models haigone kuita. Mafaira eDalvik anogoneka anomhanyisa iyo Dalvik chaiyo komputa uye inongowanikwa yeAroid.
DVM inorevei musainzi yekombuta?
DVM inomirira Chiremba weVeterinary Medicine. Iwe unogona kunge uchiziva mavara DVM pakombuta yako sechiremba wemhuka. Saka, izwi iri rinorevei? Pane nzira iri nyore yekuziva iyo DVM zvinoreva. Tsvaga zvimwe.
Chirongwa cheDVM, muchidimbu, imhando yekuwedzera processor inogona kumhanya pane akawanda processor. Kuti uwane chero zvikanganiso mukati mechirongwa, kukosha kwezvakasiyana zvinoenzaniswa nemhedzisiro yebhenji. Izvo zvinogoneka kuiunganidza nenzira yakakosha inogadzirisa chete sosi chirongwa, kuisa mafoni kune debugging mabasa. Izvi zvinokutendera kuti ushandise zvakajairika sequential debugging zvishandiso.
Android ichine DVM here?
A Dalvik Virtual Machine (DVM) ikombiyuta chaiyo inogona kushanda pane Android smartphones. CPU marejista anoshandiswa kuchengeta operands. Izvi zvinobvisa kukosha kwekuvaka mabhinari ezvivakwa zvakasiyana. Izvi zvinoderedza huwandu hwezvishandiso zvakare uye inovandudza kushanda kwebhatiri. Nekudaro, kuisa DVM kunotora nguva yakareba uye kunoshandisa ndangariro yakawanda kupfuura rejista michina. Kunyangwe vagadziri vachida iyo DVM, vashandisi vazhinji havaikurudzire.
Iyo Dalvik virtual muchina (Java Virtual Machine yakagadzirirwa Android) inonyatso shanda Java chaiyo komputa. Inogona kushandura yakakwira-level Java kodhi kuita muchina kodhi uye kuchengeta mhedzisiro yezvakajairika mataurirwo. Kunyange zvazvo Dalvik inogona kushandiswa chete nemafoni e-Android, kukosha kwayo hakugoni kuderedzwa. Yekuvandudza application yeAroid, DVM inosarudzwa pane ART.
DVM haina zvipingamupinyi zvayo. Pamusoro peiyo hombe yekurangarira tsoka inogadzira, DVM zvakare inoremedza iyo CPU uye inoderedza hupenyu hwayo hwebhatiri. Kune rimwe divi, AOT inounganidza kodhi iyo CPU inoda panguva yekumisikidzwa kweapp. Kunyangwe AOT inoshanda zvakanyanya kupfuura DVM, haina simba-rinoshanda. AOT mapurogiramu anononoka kuvhura kupfuura maDVM. Izvi zvinodaro nekuti vanoshandisa ndangariro zhinji.
Ibasa rei iro Android Runtime inoita?
Zvishandiso zveAroid zvinomhanya paDalvik virtual muchina (DVM). Iyo DVM inoshandura Java bytecode kuita Dalvik bytecode. Ndiyo zvakare kodhi yekuzvarwa inoshandiswa nemidziyo yeAroid. Dalvik haishande zvakafanana neJVM. Yakagadziridzwa kuti itakure nekukurumidza pamidziyo yakaderera-yendangariro. Iyo JVM inononoka kupfuura Dalvik uye inoshanda zvakanyanya kana ichimhanyisa akawanda maapplication pachigadzirwa chimwe chete. Kutsiva kweGoogle kwaDalvik muna 2014 yaive Android Runtime. Iyi Java-based runtime inovandudza mashandiro ekushandisa uye mashandisiro ebhatiri.
Kune maviri akaturikidzana muiyo Android Runtime. Iyi layer ndiyo raibhurari yemuno. Inopa tsigiro yebasa repakati. Iyo WebKit inopa injini inowanikwawo mune iyi layer. Dalvik chaiwo michina, iyo inonyoresa-yakavakirwa, inopa optimizations munzvimbo dzakaderera-yendangariro. Ichi ndicho chikonzero chiri chinhu chakakosha che Android. Icho chinhu chakakosha chinobvumira vanogadzira kugadzira Android application vachishandisa mutauro wechirongwa. programming Java
Ndeupi muchina chaiwo unoshandiswa neAndroid?
Iwe unofanirwa kuziva kuti ndeipi chaiyo muchina wako smartphone kumhanyisa ese ari maviri masystem anoshanda eAroid. Michina iyi chaiyo inomiririra masoftware application pamushini wenyama. Virtual michina inomhanyisa marudzi ese esoftware, kusanganisira mitambo. Dan Bornstein akagadzira iyo Android Dalvik chaiyo muchina we Android. Iyo virtual muchina ndeyemahara kurodha uye inowanikwa mahara. Kunyangwe Android ine Dalvik yakaiswa, vamwe vanhu havasati vanyatsoziva kuti ndeipi inoshandiswa mune zvipi zvikumbiro.
Pane zvakawanda zvingasarudzwa. Muchina unonyanya kushandiswa chaiwo mu Android ndeye Dalvik virtual muchina. Iyo Dalvik chaiyo muchina inochengeta application kodhi muCPU marejista uye haidi kusunda kana pop mirairo. Dalvik anochengetedza mhedzisiro yeakajairika subexpressions mune chaiwo marejista mukati memugadziri wemudziyo. Ichi chimiro hachiwanike kune stack-based modhi. Iyo Dalvik chaiyo muchina inomhanyisa Dalvik executable mafaera (DALs). Yakagadzirirwa zvakananga iyo Android inoshanda sisitimu.
Unogona kuwana rumwe ruzivo nekudzvanya pano
3.) Android shanduro
4.) android guides
Zita rangu ndiJavier Chirinos uye ndine shungu nezve tekinoroji. Kwenguva yakareba sezvandinogona kuyeuka, ndaifarira makombiyuta nemitambo yemavhidhiyo uye chitandadzo ichocho chakaguma ndava kubasa.
Ndanga ndichiburitsa nezve tekinoroji uye zvishandiso paInternet kweanopfuura makore gumi nemashanu, kunyanya mu mundobytes.com
Ini zvakare ndiri nyanzvi mukukurukurirana kwepamhepo uye kushambadzira uye ndine ruzivo rwekuvandudza WordPress.