- UDalvik wasebenza ngokusebenzisa ukuhlanganiswa kwe-JIT, ehumusha ikhodi ngenkathi uhlelo lokusebenza lusebenza.
- I-ART yenza uhlelo lube ngcono ngokusebenzisa ukuhlanganiswa kwe-AOT, yenze inqubo ngesikhathi sokufakwa.
- Zombili izindawo zisebenzisa ifomethi yefayela le-DEX, okuqinisekisa ukuhambisana phakathi kwezinguqulo.
- Ukushintshela ku-ART kuye kwavumela ukusetshenziswa kwebhethri okuncishisiwe kanye nokugeleza kohlelo okuthuthukisiwe.
Uma wake wazibuza ukuthi kwenzekani ngempela ngaphansi kwe-hood yefoni yakho uma uvula uhlelo lokusebenza, impendulo isendaweni yokusebenza kwesikhathi. Kuhlelo lokusebenza lwe-Android, sisuke kusakhiwo esisekelwe kumshini we-Dalvik obonakalayo saya ohlelweni oluqinile kakhulu olubizwa ngokuthi i-Android Runtime, olwaziwa kangcono ngokuthi i-ART. Empeleni, i-ART inesibopho sokuhumusha umbhalo wabahleli bekhodi ube yimiyalelo ihadiwe yedivayisi yakho engayiqonda ngaphandle kokuphahlazeka.
Ukuze uqonde lokhu, kubalulekile ukwazi ukuthi i-Android ayisebenzisi i-Java ngokwendabuko; kunalokho, isebenzisa i- adaptation eyenziwe ngokwezifiso . Konke kuqala ngekhodi yomthombo, eguqulwa ibe yi-bytecode bese igcina ngefomethi ethile ebizwa ngokuthi i-DEX. Kuye ngokuthi inguqulo yakho ye-Android indala noma entsha, indlela le khodi ethathayo ukwenza izinguquko ezinkulu, ithinta izinto zansuku zonke njengempilo yebhethri kanye nesivinini sokulayisha uhlelo lokusebenza.
Ifa likaDalvik: Isikhathi Esifike Ngesikhathi Esifanele
I-Dalvik yayiyinsika eyisisekelo kusukela ekuqaleni kwe-Android. Inhloso yayo yayicacile: ukuvumela izinhlelo zokusebenza ezibhalwe nge-Java ukuthi zisebenze kumadivayisi anezinsiza ezilinganiselwe kakhulu . Ngokungafani nomshini ojwayelekile we-Java virtual, i-Dalvik yenzelwe ukusebenzisa imemori encane futhi isebenzise izimo eziningi ngasikhathi sinye, idlulisela ukuphathwa kwentambo ku-kernel ye-Linux.
Isici esiyinhloko sikaDalvik kwakuyi -Just-In-Time (JIT) compilation . Lokhu kusho ukuthi ikhodi yayihunyushwa ngolimi lomshini ngesikhathi umsebenzisi exhumana nohlelo lokusebenza. Ukuze agweme ukuphinda lo msebenzi oyisicefe isikhathi ngasinye, uDalvik wadala amafayela abizwa ngokuthi i-ODEX (Optimized DEX) , agcina izingxenye ezihunyushwe kakade ku-cache. Inkinga kwakuwukuthi le nqubo yokuhlanganisa eqhubekayo yayidla imijikelezo ye-CPU futhi, ngenxa yalokho, yasebenzisa amandla amaningi.
Isikhathi Sokusebenza Se-Android (ART): Intuthuko Eya Ku-Ahead-Of-Time
Kusukela nge-Android 5.0 Lollipop, i-ART yathatha izintambo ngokuphelele. Umehluko omkhulu ukuthi i-ART isebenzisa ukuhlanganiswa kwe -Ahead-Of-Time (AOT) . Esikhundleni sokulinda ukuthi uvule uhlelo lokusebenza, i-ART yenza umsebenzi onzima ngesikhathi sokufakwa. Isebenzisa ithuluzi elibizwa ngokuthi i-dex2oat ukuguqula amafayela e-DEX abe yi-ELF (Executable and Linkable Format) executables, ezivela eLinux.
Ngenxa yale ndlela, uma uthepha isithonjana sohlelo lokusebenza, uhlelo aludingi ukuhlanganisa lutho; lumane lufunde ifayela le-ELF bese lulisebenzisa. Lokhu kusho ukuthi iprosesa ayisebenzi kahle, ibhethri lihlala isikhathi eside , futhi izinhlelo zokusebenza zizizwa zibushelelezi kakhulu. Kodwa-ke, kukhona ukuguquguquka okuncane: ukufakwa kohlelo lokusebenza kuthatha isikhathi eside futhi kuthatha isikhala esiningi sokugcina kuneDalvik.
Ukuqhathanisa kobuchwepheshe kanye nokuthuthukiswa okubalulekile
Nakuba zombili izindawo ziyahambisana futhi zisebenzisa i-DEX bytecode efanayo, i-ART yethule ukuthuthukiswa okwenza uhlelo lusheshe kakhulu. Enye yezinto ezibaluleke kakhulu ukuqoqwa kukadoti (GC) . Ku-Dalvik, umqoqi kadoti wayevame ukubangela lokho kumiswa noma "ukuxhuzula" okucasulayo esibonakalayo (ukulibala okudumile). I-ART ikwakhile kabusha lokhu ngesistimu ehambisanayo , okwenza ukumiswa kuzimele ngenani lememori esetshenzisiwe.
- Ukulungisa iphutha okuthuthukile: I-ART ivumela abathuthukisi ukuthi babone ukuthi yimiphi imicu yokukhiya ebambe futhi balandelele izimo zeklasi ngokunemba okukhulu kakhulu.
- Ukuxilongwa okunembile: Manje, uma uhlelo lokusebenza luphahlazeka, imibiko yamaphutha ichazwa kabanzi, ikakhulukazi ezimweni zokuthi I-NullPointerException.
- Ukuphathwa kwememori: Ngokungafani neDalvik, eyayisebenzisa i-cache engafinyeleleki, i-ART isebenzisa imemori ye-RAM evumela ukuthi isetshenziswe. ukuhlanganisa amakhasi kungenzeka, ukuthuthukisa ukusetshenziswa kwehadiwe.
Inqubo yokupakisha: Kusukela kukhodi kuya ku-APK
Ukuze noma yiziphi zalezi zindawo zisebenze, ikhodi kumele idlule emgqeni wokuhlanganisa. Okokuqala, i-Java compiler idala amafayela e-.class, ithuluzi le -dex eliwaguqula abe ifayela elilodwa le-classes.dex. Leli fayela liyingqikithi ye-APK futhi yilokho i-ART noma i-Dalvik ezokucubungula.
Amathuluzi afana ne -aapt asetshenziselwa ukupakisha izinsiza, futhi i-zipalign ithuthukisa ukuqondanisa kwedatha, iqinisekisa ukuthi iprosesa ifinyelela imemori kahle ngangokunokwenzeka. Uma i-APK ifika kudivayisi, umlingo uyenzeka: uma kukhona i-ART, ifayela le-ELF liyakhiqizwa; uma kukhona i-Dalvik, ifayela le-ODEX liqala ukukhiqizwa ngokushesha.
Amaqiniso athakazelisayo ngama-ROM kanye nenqubo yokususa i-deodex
Ezweni lama-ROM enziwe ngokwezifiso, amagama athi i-odex ne-deodex avame ukusetshenziswa . Njengoba ifayela le-ODEX lincike kwihadiwe futhi lincike ohlelweni oluqondile lapho ladalwa khona, alikwazi ukudluliselwa kalula kusuka kufoni eyodwa kuya kwenye. Ukuze kulungiswe uhlelo lokusebenza ngaphandle kokuphahlazeka kohlelo, onjiniyela benza inqubo ye-deodex , ehilela ukuhlanganisa ifayela elilungiselelwe ngaphakathi kwe-APK ukuze kube lula ukulisebenzisa.
I-ecosystem ye-Android ishintshe kusukela emshinini obonakalayo oguquguqukayo kodwa osebenzisa amandla amaningi kuya endaweni yokusebenza elungiselelwe kahle ebeka phambili ulwazi lomsebenzisi. Ngenkathi i-Dalvik igxile ekuguquguqukeni kokuhumusha ikhodi ngesikhathi sangempela, i-ART ithuthukise ukusetshenziswa kwehadiwe ngokuhlanganiswa kwangaphambili , iqinisekisa ukuthi isofthiwe izinzile kakhudlwana, ishesha, futhi igcina amandla kakhudlwana.
Inkomba
- 1 Ifa likaDalvik: Isikhathi Esifike Ngesikhathi Esifanele
- 2 Isikhathi Sokusebenza Se-Android (ART): Intuthuko Eya Ku-Ahead-Of-Time
- 3 Ukuqhathanisa kobuchwepheshe kanye nokuthuthukiswa okubalulekile
- 4 Inqubo yokupakisha: Kusukela kukhodi kuya ku-APK
- 5 Amaqiniso athakazelisayo ngama-ROM kanye nenqubo yokususa i-deodex



