Rovo89: Aktualizace vývoje Xposed pro Nougat

Vývojář Xposed Rovo89 poskytl přehled o aktuálním stavu Xposed for Nougat. Podívejte se, proč aktualizace trvá tak dlouho!

Důvod, proč já osobně na svém i nadále používám Android 6.0 Marshmallow OnePlus 3, i přes OnePlus vydává aktualizaci Nougat pro telefon stabilní kanály, je přítomnost Xposed. Rámec Xposed a ekosystém modulů tvoří klíčovou součást prostředí Android, které preferuji -- do bodu, kdy jsem ochoten vzdát se nejnovější aktualizace operačního systému od výrobce OEM, jen abych si mohl vychutnat tuto sladkost ovoce.

Zatímco Xposed for Nougat chvíli trvá, než přijde, a některým z nás nevadí čekat dále byla chvíli od chvíle, kdy jsme naposledy slyšeli o průběhu projektu.

XDA Senior uznávaný vývojář rovo89 trvalo to nějaký čas informovat nás k aktuální situaci ohledně projektu Xposed for Nougat:

„Zdá se, že stále více lidí je nervózních z toho, zda (a kdy) bude Xposed pro Nougat nebo ne, takže jsem měl pocit, že bych měl něco říct.

Proč to trvá tak dlouho? Protože s každým vydáním se snažím zajistit, aby se Xposed pěkně integroval s vylepšeními v nové verzi ART. Krok z Lollipop do Marshmallow nebyl velký. Byla to evoluce, některé věci dokonce umožnily integrovat Xposed elegantnějším způsobem. Celkově šlo hlavně o pečlivé portování než spíše o inovace.

S Nougatem se něco zásadního změnilo. Pokud již Nougat používáte, jistě jste si všimli, že instalace jsou nyní mnohem rychlejší. Je to proto, že soubory APK nejsou kompilovány okamžitě (AOT), ale začínají v (pomalejším) režimu interpretace. Zní to špatně, ale povolili JIT, který rychle zkompiluje ty metody, které se používají velmi často. To obnoví dobře známý a neustále se zlepšující výkon nativního kódu. Kromě toho ART vede seznam těchto často používaných metod ("profilování"). Když je zařízení nečinné, nakonec provede kompilaci AOT, ale na základě profilovacích dat. Poté získáte skvělý výkon hned po spuštění aplikace. JIT stále čeká na případ, že by se změnily vzorce použití, a myslím, že také upraví profil a vylepší kompilaci AOT.

To má za následek různé stavy kompilace a větší složitost. Kromě toho se v minulosti vyskytlo mnoho problémů způsobených potřebou Xposed překompilovat celou ROM a všechny aplikace: Někdy to způsobovalo zaváděcí smyčky, když byly soubory odex příliš silně předoptimalizováno, zablokovalo poměrně dost místa na ukládání překompilovaných souborů a potřeboval jsem zakázat některé optimalizace, jako je vkládání a přímý ukazatel hovory. Doufám, že mohu využít kompilátor JIT, abych se tomu v Nougatu vyhnul. Pokud by Xposed věděl, odkud se metoda volá, mohl by zneplatnit zkompilovaný kód volajících, takže by dočasně použili interpret. Pokud jsou dostatečně důležité, JIT je znovu zkompiluje.

Už jsem pro to udělal spoustu výzkumů a experimentů a v současné době se to snažím implementovat. Ale jak si dokážete představit, to vše je velké úsilí a může to snadno trvat stovky hodin...“

Hlavním problémem, jak už to bývá u hobby projektů, je přidělení času a my rozumíme, odkud rovo89 pochází. I když projekt Xposed v současné době stojí, zahrnuje měsíce úsilí různých vývojářů, aby umožnili koncovému uživateli užít si ho tak jednoduchým a distribuovatelným způsobem.

Jak se říká, Řím nebyl postaven za den, ale cihly se pokládaly každou hodinu:

Takže ano, stále pracuji na podpoře Nougat, kdykoli mi to volný čas dovolí, ale kdy bude hotovo, netuším. Až to bude hotové, budeš to vědět.

Android není dokonalý a Xposed nám umožňuje opravit to, co původní vývojář nedokáže. Čekání na konečnou opravu Androidu pokračuje na nejnovějším operačním systému a my přejeme rovo89 hodně štěstí z naší strany.

Celé prohlášení si můžete přečíst v příspěvek na fóru. Také čekáte na Xposed? Dejte nám vědět v komentářích!