Rovo89: Oppdatering om utvikling av Xposed for Nougat

Xposed-utvikler Rovo89 har gitt innsikt i den nåværende statusen til Xposed for Nougat. Gå over for å finne ut hvorfor oppdateringen tar så lang tid!

Grunnen til at jeg personlig fortsetter å bruke Android 6.0 Marshmallow på min OnePlus 3, på tross av OnePlus sender ut Nougat-oppdateringen for telefonen til stabile kanaler, er tilstedeværelsen av Xposed. Xposed-rammeverket og moduløkosystemet utgjør en avgjørende del av Android-opplevelsen som jeg foretrekker -- til det punktet hvor jeg er villig til å gi avkall på den siste OS-oppdateringen fra OEM bare for å nyte denne søte frukt.

Mens Xposed for Nougat tar en stund å komme med og noen av oss ikke har noe imot å vente lenger, det var en stund siden siden sist vi hørte om fremdriften i prosjektet.

XDA senior anerkjent utvikler rovo89 tok litt tid å Informer oss om den nåværende situasjonen angående Xposed for Nougat-prosjektet:

«Det ser ut til at flere og flere blir nervøse for om (og når) det blir Xposed for Nougat eller ikke, så jeg følte at jeg burde si noe.

Hvorfor tar det så lang tid? For med hver utgivelse prøver jeg å sørge for at Xposed integreres fint med forbedringene i den nye ART-versjonen. Steget fra Lollipop til Marshmallow var ikke stort. Det var en evolusjon, noen ting gjorde det til og med mulig å integrere Xposed på en mer elegant måte. I det hele tatt var det hovedsakelig forsiktig portering enn heller innovasjon.

Med Nougat har noe grunnleggende endret seg. Hvis du allerede bruker Nougat, har du lagt merke til at installasjonene er mye raskere nå. Det er fordi APK-er ikke kompileres umiddelbart (AOT), men starter i (langsommere) tolkemodus. Høres dårlig ut, men de har aktivert JIT, som raskt vil kompilere de metodene som brukes veldig ofte. Det vil gjenopprette den velkjente og stadig forbedrede ytelsen til native kode. I tillegg fører ART en liste over disse ofte brukte metodene ("profilering"). Når enheten er inaktiv, gjør den endelig AOT-kompileringen, men basert på profileringsdataene. Etter det får du den flotte ytelsen rett etter at du har startet appen. JIT venter fortsatt i tilfelle bruksmønstrene endres, og jeg tror det også vil justere profilen og forbedre AOT-kompileringen.

Det resulterer i forskjellige kompileringstilstander og mer kompleksitet. Utenom det var det mange problemer tidligere forårsaket av Xposeds behov for å rekompilere hele ROM og alle apper: Det forårsaket noen ganger oppstartsløkker når odex-filene ble for sterkt forhåndsoptimalisert, det blokkerte ganske mye lagringsplass for å lagre de rekompilerte filene, og jeg trengte å deaktivere noen optimaliseringer som inlining og direkte peker samtaler. Jeg håper at jeg kan bruke JIT-kompilatoren for å unngå det i Nougat. Hvis Xposed visste fra hvor en metode kalles, kunne den ugyldiggjøre innringernes kompilerte kode, slik at de midlertidig ville bruke tolken. Hvis de er viktige nok, vil JIT kompilere dem på nytt.

Jeg har allerede gjort mye forskning og eksperimenter for dette, og jeg prøver for tiden å implementere dette. Men som du kan forestille deg, er alt dette mye innsats og kan lett ta hundrevis av timer ..."

Hovedproblemet som vanligvis er i hobbyprosjekter, er allokering av tid, og vi forstår hvor rovo89 kommer fra. Selv som Xposed-prosjektet for tiden står, inkluderer det måneder med innsats fra forskjellige utviklere for å bidra til å gjøre det mulig for sluttbrukeren å nyte på en så enkel og distribuerbar måte.

Som de sier, Roma ble ikke bygget på en dag, men mursteinene ble lagt hver time:

Så ja, jeg jobber fortsatt med Nougat-støtte, når fritiden tillater det, men jeg har ingen anelse om når det vil bli gjort. Når det er gjort, vet du det.

Android er ikke perfekt, og Xposed er det som lar oss fikse det den opprinnelige utvikleren ikke vil. Ventetiden på den ultimate Android-fiksen fortsetter på det nyeste operativsystemet, og vi ønsker rovo89 lykke til fra vår side.

Du kan lese hele uttalelsen i foruminnlegg. Venter du på Xposed også? Gi oss beskjed i kommentarene!