Xposed-udvikler Rovo89 har givet indsigt i den aktuelle status for Xposed for Nougat. Gå over for at vide, hvorfor opdateringen tager så lang tid!
Grunden til, at jeg personligt fortsætter med at bruge Android 6.0 Marshmallow på min OnePlus 3, på trods af OnePlus skubber Nougat-opdateringen ud for telefonen til stabile kanaler, er tilstedeværelsen af Xposed. Xposed-rammen og moduløkosystemet udgør en afgørende del af den Android-oplevelse, som jeg foretrækker -- til det punkt, hvor jeg er villig til at give afkald på den seneste OS-opdatering fra OEM bare for at nyde denne søde frugt.
Mens Xposed for Nougat tager et stykke tid at komme med, og nogle af os har ikke noget imod at vente længere, det havde været et stykke tid siden vi sidst hørte om projektets fremskridt.
XDA Senior anerkendt udvikler rovo89 tog noget tid at informere os om den aktuelle situation vedrørende Xposed for Nougat-projektet:
"Det ser ud til, at flere og flere bliver nervøse for, om (og hvornår) der bliver Xposed for Nougat eller ej, så jeg følte, at jeg burde sige noget.
Hvorfor tager det så lang tid? For med hver udgivelse forsøger jeg at sikre, at Xposed integreres pænt med forbedringerne i den nye ART-version. Skridtet fra Lollipop til Marshmallow var ikke stort. Det var en udvikling, nogle ting gjorde det endda muligt at integrere Xposed på en mere elegant måde. I det hele taget var det primært omhyggelig portering end snarere nyskabende.
Med Nougat har noget fundamentalt ændret sig. Hvis du allerede bruger Nougat, har du bemærket, at installationerne er meget hurtigere nu. Det er fordi APK'er ikke kompileres med det samme (AOT), men starter i (langsommere) fortolkningstilstand. Det lyder dårligt, men de har aktiveret JIT, som hurtigt vil kompilere de metoder, der bruges meget ofte. Det vil genoprette den velkendte og konstant forbedrede ydeevne af native kode. Udover det fører ART en liste over disse ofte anvendte metoder ("profilering"). Når enheden er inaktiv, laver den endelig AOT-kompileringen, men baseret på profileringsdataene. Derefter får du den fantastiske ydeevne lige efter du har startet appen. JIT venter stadig, hvis brugsmønstrene ændrer sig, og jeg tror, det også vil justere profilen og forbedre AOT-kompileringen.
Det resulterer i forskellige kompileringstilstande og mere kompleksitet. Udover det var der mange problemer tidligere forårsaget af Xposeds behov for at rekompilere hele ROM'en og alle apps: Det forårsagede nogle gange boot-loops, når odex-filerne blev for stærkt præ-optimeret, det blokerede en del lagerplads til at gemme de genkompilerede filer, og jeg var nødt til at deaktivere nogle optimeringer som inlining og direkte pointer opkald. Jeg håber, at jeg kan bruge JIT-kompileren for at undgå det i Nougat. Hvis Xposed vidste, hvorfra en metode kaldes, kunne den ugyldiggøre opkaldernes kompilerede kode, så de midlertidigt ville bruge tolken. Hvis de er vigtige nok, vil JIT genkompilere dem.
Jeg har allerede lavet en masse forskning og eksperimenter for dette, og jeg forsøger i øjeblikket at implementere dette. Men som du kan forestille dig, er alt dette en stor indsats og kan nemt tage hundredvis af timer..."
Hovedproblemet, som normalt er i hobbyprojekter, er tildelingen af tid, og vi forstår, hvor rovo89 kommer fra. Selv som Xposed-projektet står i øjeblikket, inkluderer det måneders indsats fra forskellige udviklere for at hjælpe med at gøre det muligt for slutbrugeren at nyde det på en så enkel og distribuerbar måde.
Som de siger, blev Rom ikke bygget på en dag, men murstenene blev lagt hver time:
Så ja, jeg arbejder stadig på Nougat-support, når min fritid tillader det, men jeg har ingen idé om, hvornår det bliver gjort. Når det er gjort, ved du det.
Android er ikke perfekt, og Xposed er det, der giver os mulighed for at rette, hvad den oprindelige udvikler ikke vil. Ventetiden på den ultimative Android-fix fortsætter på det nyeste OS, og vi ønsker rovo89 held og lykke fra vores side.
Du kan læse hele udtalelsen i forum indlæg. Venter du også på Xposed? Fortæl os det i kommentarerne!