Rovo89: Ažuriranje razvoja Xposed za Nougat

Xposed programer Rovo89 pružio je uvid u trenutni status Xposed za Nougat. Dođite i saznajte zašto ažuriranje traje tako dugo!

Razlog zašto ja osobno nastavljam koristiti Android 6.0 Marshmallow na svom OnePlus 3, bez obzira na OnePlus izbacuje ažuriranje za Nougat za telefon na stabilne kanale, je prisutnost Xposed. Okvir Xposed i ekosustav modula čine ključni dio iskustva s Androidom koji mi se više sviđa -- do točke u kojoj sam spreman odreći se najnovijeg ažuriranja OS-a od OEM-a samo da bih uživao u ovom slatkišu voće.

Dok Xposed za Nougat treba neko vrijeme da se pojavi i neki od nas ne misle čekati dalje, prošlo je neko vrijeme otkad smo zadnji put čuli o napretku projekta.

XDA Senior priznati programer rovo89 trebalo neko vrijeme da obavijestite nas o trenutnoj situaciji oko projekta Xposed za Nougat:

“Čini se da je sve više i više ljudi nervozno oko toga hoće li (i kada) biti Xposed za Nougat ili ne, pa sam osjetio da bih trebao nešto reći.

Zašto to traje toliko dugo? Jer sa svakim izdanjem nastojim osigurati da se Xposed lijepo integrira s poboljšanjima u novoj ART verziji. Korak od Lollipopa do Marshmallowa nije bio velik. Bila je to evolucija, neke su stvari čak omogućile integraciju Xposeda na elegantniji način. U cjelini, radilo se uglavnom o pažljivom prijenosu nego o inovacijama.

S Nougatom se nešto temeljno promijenilo. Ako već koristite Nougat, primijetit ćete da su instalacije sada mnogo brže. To je zato što se APK-ovi ne kompiliraju odmah (AOT), već počinju u (sporijem) načinu tumačenja. Zvuči loše, ali omogućili su JIT koji će brzo prevesti te metode koje se vrlo često koriste. To će vratiti dobro poznate performanse izvornog koda koji se stalno poboljšavaju. Osim toga, ART vodi popis ovih često korištenih metoda ("profiliranje"). Kada je uređaj u stanju mirovanja, konačno radi AOT kompilaciju, ali na temelju podataka profiliranja. Nakon toga dobivate izvrsne performanse odmah nakon pokretanja aplikacije. JIT još uvijek čeka u slučaju da se obrasci korištenja promijene, a mislim da će također prilagoditi profil i poboljšati AOT kompilaciju.

To rezultira različitim stanjima kompilacije i većom složenošću. Osim toga, u prošlosti je bilo mnogo problema uzrokovanih Xposedovom potrebom da ponovno kompajlira cijeli ROM i sve aplikacije: ponekad je uzrokovalo petlje pri pokretanju kada su odex datoteke bile previše unaprijed optimiziran, blokirao je dosta prostora za pohranu ponovno kompajliranih datoteka i morao sam onemogućiti neke optimizacije kao što su umetanje i izravni pokazivač poziva. Nadam se da mogu iskoristiti JIT kompajler kako bih to izbjegao u Nougatu. Kad bi Xposed znao odakle se poziva metoda, mogao bi poništiti sastavljeni kod pozivatelja, tako da bi oni privremeno koristili tumač. Ako su dovoljno važni, JIT će ih ponovno kompajlirati.

Već sam napravio mnogo istraživanja i eksperimenata za ovo i trenutno pokušavam ovo implementirati. Ali kao što možete zamisliti, sve je to veliki napor i lako može potrajati stotine sati..."

Glavni problem, kao i obično u hobističkim projektima, je raspodjela vremena, a mi razumijemo odakle rovo89 dolazi. Čak i kako projekt Xposed trenutno stoji, on uključuje mjesece napora raznih programera kako bi krajnjem korisniku omogućili uživanje na tako jednostavan i distribuiran način.

Kako kažu, Rim nije sagrađen za jedan dan, već su se cigle postavljale svaki sat:

Tako da da, još uvijek radim na podršci za Nougat, kad god mi slobodno vrijeme to dopusti, ali nemam pojma kada će to biti gotovo. Kad bude gotovo, znat ćete.

Android nije savršen i Xposed je ono što nam omogućuje da popravimo ono što originalni programer neće. Čekanje na ultimativno rješenje za Android nastavlja se na najnovijem OS-u, a rovo89 želimo svu sreću s naše strane.

Cijelu izjavu možete pročitati u post na forumu. Čekate li i vi Xposed? Javite nam u komentarima!