Rovo89: aggiornamento sullo sviluppo di Xposed per Nougat

Lo sviluppatore di Xposed Rovo89 ha fornito informazioni sullo stato attuale di Xposed per Nougat. Vai a scoprire perché l'aggiornamento sta impiegando così tanto tempo!

Il motivo per cui personalmente continuo a utilizzare Android 6.0 Marshmallow sul mio OnePlus 3, nonostante OnePlus rilascia l'aggiornamento Nougat per il telefono a canali stabili, è la presenza di Xposed. Il framework Xposed e l'ecosistema dei moduli costituiscono una parte cruciale dell'esperienza Android che preferisco - al punto che sono disposto a rinunciare all'ultimo aggiornamento del sistema operativo fornito dall'OEM solo per assaporare questo dolce frutta.

Anche se Xposed for Nougat sta impiegando un po' di tempo per arrivare e ad alcuni di noi non dispiace aspettare ulteriormente era passato un po' di tempo dall'ultima volta che abbiamo sentito parlare dello stato di avanzamento del progetto.

Sviluppatore senior riconosciuto XDA rovo89 ci è voluto del tempo per informaci sulla situazione attuale relativa al progetto Xposed for Nougat:

"Sembra che sempre più persone siano nervose riguardo al fatto se (e quando) ci sarà Xposed per Nougat oppure no, quindi ho sentito che dovevo dire qualcosa.

Perché ci vuole così tanto tempo? Perché con ogni versione cerco di assicurarmi che Xposed si integri bene con i miglioramenti della nuova versione ART. Il passo da Lollipop a Marshmallow non è stato enorme. È stata un'evoluzione, alcune cose hanno permesso anche di integrare Xposed in modo più elegante. Nel complesso, si è trattato principalmente di un porting attento piuttosto che di innovazione.

Con Nougat qualcosa di fondamentale è cambiato. Se utilizzi già Nougat, avrai notato che ora le installazioni sono molto più veloci. Questo perché gli APK non vengono compilati immediatamente (AOT), ma iniziano in modalità di interpretazione (più lenta). Sembra brutto, ma hanno abilitato JIT, che compilerà rapidamente quei metodi che vengono utilizzati molto spesso. Ciò ripristinerà le prestazioni ben note e in costante miglioramento del codice nativo. Inoltre ART conserva un elenco di questi metodi frequentemente utilizzati ("profilazione"). Quando il dispositivo è inattivo, esegue infine la compilazione AOT, ma in base ai dati di profilazione. Successivamente, otterrai prestazioni eccezionali subito dopo aver avviato l'app. JIT sta ancora aspettando nel caso in cui i modelli di utilizzo cambino e penso che adatterà anche il profilo e migliorerà la compilazione AOT.

Ciò si traduce in vari stati di compilazione diversi e in una maggiore complessità. Oltre a ciò, in passato si sono verificati molti problemi causati dalla necessità di Xposed di ricompilare l'intera ROM e tutte le app: a volte causavano loop di avvio quando i file odex venivano troppo pesantemente pre-ottimizzato, bloccava un po' di spazio di archiviazione per archiviare i file ricompilati e avevo bisogno di disabilitare alcune ottimizzazioni come l'inlining e il puntatore diretto chiamate. Spero di poter utilizzare il compilatore JIT per evitarlo in Nougat. Se Xposed sapesse da dove viene chiamato un metodo, potrebbe invalidare il codice compilato dei chiamanti, in modo che utilizzino temporaneamente l'interprete. Se sono abbastanza importanti, JIT li ricompilerà.

Ho già fatto molte ricerche ed esperimenti per questo e attualmente sto cercando di implementarlo. Ma come puoi immaginare, tutto ciò richiede molto impegno e può facilmente richiedere centinaia di ore..."

Il problema principale, come di solito nei progetti hobbistici, è l'allocazione del tempo e capiamo da dove viene rovo89. Anche se il progetto Xposed è attualmente in piedi, include mesi di sforzi da parte di vari sviluppatori per rendere possibile all'utente finale di divertirsi in modo così semplice e distribuibile.

Come si suol dire, Roma non fu costruita in un giorno, ma i mattoni furono posati ogni ora:

Quindi sì, sto ancora lavorando al supporto di Nougat, ogni volta che il mio tempo libero me lo consente, ma non ho idea di quando sarà completato. Una volta fatto, lo saprai.

Android non è perfetto e Xposed è ciò che ci consente di risolvere ciò che lo sviluppatore originale non ha fatto. L'attesa per la soluzione Android definitiva continua sul sistema operativo più recente e auguriamo a rovo89 buona fortuna da parte nostra.

Potete leggere il comunicato completo in messaggio del forum. Anche tu aspetti Xposed? Fateci sapere nei commenti!