Xposed-ontwikkelaar Rovo89 heeft inzicht gegeven in de huidige status van Xposed voor Nougat. Lees verder en ontdek waarom de update zo lang duurt!
De reden waarom ik persoonlijk Android 6.0 Marshmallow blijf gebruiken op mijn OnePlus 3, ondanks OnePlus brengt de Nougat-update uit om de telefoon stabiele kanalen te geven, is de aanwezigheid van Xposed. Het Xposed-framework en het module-ecosysteem vormen een cruciaal onderdeel van de Android-ervaring waar ik de voorkeur aan geef - tot het punt waarop ik bereid ben af te zien van de nieuwste OS-update van de OEM, alleen maar om van dit snoepje te genieten fruit.
Hoewel Xposed voor Nougat even op zich laat wachten en sommigen van ons het niet erg vinden om verder te wachten, is het wel zover was al een tijdje geleden sinds we voor het laatst hoorden over de voortgang van het project.
XDA Senior erkende ontwikkelaar rovo89 kostte wat tijd Informeer ons over de huidige situatie met betrekking tot het Xposed for Nougat-project:
"Het lijkt erop dat steeds meer mensen zenuwachtig worden over de vraag of (en wanneer) er Xposed voor Nougat zal zijn of niet, dus ik vond dat ik iets moest zeggen.
Waarom duurt het zo lang? Want bij elke release probeer ik ervoor te zorgen dat Xposed mooi integreert met de verbeteringen in de nieuwe ART-versie. De stap van Lollipop naar Marshmallow was niet groot. Het was een evolutie, sommige dingen maakten het zelfs mogelijk om Xposed op een elegantere manier te integreren. Over het geheel genomen was het vooral voorzichtig porteren en niet zozeer innoveren.
Met Nougat is er iets fundamenteels veranderd. Als u Nougat al gebruikt, zult u gemerkt hebben dat de installaties nu veel sneller zijn. Dat komt omdat APK's niet onmiddellijk worden gecompileerd (AOT), maar beginnen in de (langzamere) interpretatiemodus. Klinkt slecht, maar ze hebben JIT ingeschakeld, dat snel de methoden compileert die heel vaak worden gebruikt. Dat zal de bekende en voortdurend verbeterende prestaties van native code herstellen. Daarnaast houdt ART een lijst bij van deze veelgebruikte methoden (“profilering”). Wanneer het apparaat inactief is, voert het uiteindelijk de AOT-compilatie uit, maar dan op basis van de profileringsgegevens. Daarna krijg je de geweldige prestaties direct na het starten van de app. JIT wacht nog steeds voor het geval de gebruikspatronen veranderen, en ik denk dat het ook het profiel zal aanpassen en de AOT-compilatie zal verbeteren.
Dat resulteert in verschillende compilatietoestanden en meer complexiteit. Daarnaast waren er in het verleden veel problemen die werden veroorzaakt door de noodzaak van Xposed om het hele ROM en alle apps opnieuw te compileren: het veroorzaakte soms opstartlussen wanneer de odex-bestanden werden te zwaar vooraf geoptimaliseerd, het blokkeerde behoorlijk wat opslagruimte om de opnieuw gecompileerde bestanden op te slaan, en ik moest een aantal optimalisaties uitschakelen, zoals inlining en directe pointer oproepen. Ik hoop dat ik de JIT-compiler kan gebruiken om dat in Nougat te voorkomen. Als Xposed zou weten waar een methode wordt aangeroepen, zou het de gecompileerde code van de bellers ongeldig kunnen maken, zodat ze tijdelijk de tolk zouden gebruiken. Als ze belangrijk genoeg zijn, zal JIT ze opnieuw compileren.
Ik heb hier al veel onderzoek en experimenten voor gedaan en probeer dit momenteel te implementeren. Maar zoals je je kunt voorstellen, kost dat allemaal veel moeite en kan het gemakkelijk honderden uren duren..."
Het belangrijkste probleem, zoals gewoonlijk bij hobbyprojecten, is de toewijzing van tijd, en we begrijpen waar rovo89 vandaan komt. Zelfs zoals het Xposed-project er momenteel uitziet, omvat het maandenlange inspanningen van verschillende ontwikkelaars om het voor de eindgebruiker mogelijk te maken om op zo'n eenvoudige en distribueerbare manier te genieten.
Zoals ze zeggen: Rome werd niet op één dag gebouwd, maar de stenen werden elk uur gelegd:
Dus ja, ik ben nog steeds bezig met Nougat-ondersteuning, wanneer mijn vrije tijd het toelaat, maar ik heb geen idee wanneer het klaar zal zijn. Zodra het klaar is, weet je het.
Android is niet perfect en Xposed is dat wat ons in staat stelt te repareren wat de oorspronkelijke ontwikkelaar niet wilde. Het wachten op de ultieme Android-fix gaat door op het nieuwste besturingssysteem en we wensen rovo89 van onze kant veel succes.
De volledige verklaring kunt u lezen in de forumpost. Wacht jij ook op Xposed? Laat het ons weten in de reacties!