Ο προγραμματιστής του Xposed Rovo89 έδωσε πληροφορίες για την τρέχουσα κατάσταση του Xposed για Nougat. Προχωρήστε για να μάθετε γιατί η ενημέρωση διαρκεί τόσο πολύ!
Ο λόγος για τον οποίο προσωπικά συνεχίζω να χρησιμοποιώ το Android 6.0 Marshmallow στο δικό μου OnePlus 3, παρά Η OnePlus προωθεί την ενημέρωση Nougat για το τηλέφωνο σε σταθερά κανάλια, είναι η παρουσία του Xposed. Το πλαίσιο Xposed και το οικοσύστημα της μονάδας αποτελούν ένα κρίσιμο μέρος της εμπειρίας Android που προτιμώ -- σε σημείο που είμαι πρόθυμος να παραιτηθώ από την πιο πρόσφατη ενημέρωση λειτουργικού συστήματος από τον OEM μόνο για να απολαύσω αυτό το γλυκό καρπός.
Ενώ το Xposed για Nougat αργεί να έρθει και μερικοί από εμάς δεν μας πειράζει να περιμένουμε περαιτέρω, αυτό είχε περάσει καιρός από την τελευταία φορά που ακούσαμε για την πρόοδο του έργου.
XDA Senior Recognized Developer rovo89 πήρε λίγο χρόνο για να ενημέρωσέ μας σχετικά με την τρέχουσα κατάσταση σχετικά με το έργο Xposed for Nougat:
«Φαίνεται ότι όλο και περισσότεροι άνθρωποι ανησυχούν για το αν (και πότε) θα υπάρξει το Xposed για το Nougat ή όχι, οπότε ένιωσα ότι έπρεπε να πω κάτι.
Γιατί παίρνει τόσο πολύ; Επειδή με κάθε κυκλοφορία, προσπαθώ να διασφαλίσω ότι το Xposed ενσωματώνεται όμορφα με τις βελτιώσεις στη νέα έκδοση ART. Το βήμα από το Lollipop στο Marshmallow δεν ήταν τεράστιο. Ήταν μια εξέλιξη, κάποια πράγματα επέτρεψαν ακόμη και την ενσωμάτωση του Xposed με πιο κομψό τρόπο. Συνολικά, ήταν κυρίως προσεκτική μεταφορά παρά μάλλον καινοτόμο.
Με το Nougat, κάτι θεμελιώδες έχει αλλάξει. Εάν χρησιμοποιείτε ήδη Nougat, θα έχετε παρατηρήσει ότι οι εγκαταστάσεις είναι πολύ πιο γρήγορες τώρα. Αυτό συμβαίνει επειδή τα APK δεν μεταγλωττίζονται αμέσως (AOT), αλλά ξεκινούν σε (πιο αργή) λειτουργία ερμηνείας. Ακούγεται κακό, αλλά έχουν ενεργοποιήσει το JIT, το οποίο θα συγκεντρώνει γρήγορα αυτές τις μεθόδους που χρησιμοποιούνται πολύ συχνά. Αυτό θα αποκαταστήσει τη γνωστή και συνεχώς βελτιούμενη απόδοση του εγγενούς κώδικα. Εκτός αυτού, η ART διατηρεί μια λίστα με αυτές τις συχνά χρησιμοποιούμενες μεθόδους ("προφίλ"). Όταν η συσκευή είναι αδρανής, τελικά κάνει τη μεταγλώττιση AOT, αλλά με βάση τα δεδομένα προφίλ. Μετά από αυτό, έχετε την εξαιρετική απόδοση αμέσως μετά την εκκίνηση της εφαρμογής. Το JIT εξακολουθεί να περιμένει σε περίπτωση που αλλάξουν τα πρότυπα χρήσης και νομίζω ότι θα προσαρμόσει επίσης το προφίλ και θα βελτιώσει τη συλλογή AOT.
Αυτό έχει ως αποτέλεσμα διάφορες διαφορετικές καταστάσεις μεταγλώττισης και μεγαλύτερη πολυπλοκότητα. Εκτός αυτού, υπήρχαν πολλά προβλήματα στο παρελθόν που προκλήθηκαν από την ανάγκη του Xposed να μεταγλωττίσει ξανά ολόκληρη τη ROM και όλες τις εφαρμογές: Μερικές φορές προκαλούσε βρόχους εκκίνησης όταν τα αρχεία odex ήταν πολύ προ-βελτιστοποιημένο, απέκλεισε αρκετό χώρο αποθήκευσης για την αποθήκευση των εκ νέου μεταγλωττισμένων αρχείων και χρειαζόταν να απενεργοποιήσω ορισμένες βελτιστοποιήσεις όπως η ένθεση και ο άμεσος δείκτης κλήσεις. Ελπίζω ότι μπορώ να χρησιμοποιήσω τον μεταγλωττιστή JIT για να το αποφύγω αυτό στο Nougat. Εάν το Xposed γνώριζε από πού καλείται μια μέθοδος, θα μπορούσε να ακυρώσει τον μεταγλωττισμένο κώδικα των καλούντων, έτσι ώστε να χρησιμοποιήσουν προσωρινά τον διερμηνέα. Εάν είναι αρκετά σημαντικά, η JIT θα τα μεταγλωττίσει εκ νέου.
Έχω ήδη κάνει πολλές έρευνες και πειράματα για αυτό και προσπαθώ να το εφαρμόσω αυτήν τη στιγμή. Αλλά όπως μπορείτε να φανταστείτε, όλα αυτά είναι μεγάλη προσπάθεια και μπορούν εύκολα να διαρκέσουν εκατοντάδες ώρες...»
Το κύριο θέμα, όπως συνήθως είναι στα έργα χομπίστας, είναι η κατανομή του χρόνου και καταλαβαίνουμε από πού προέρχεται το rovo89. Ακόμη και όπως είναι επί του παρόντος το έργο Xposed, περιλαμβάνει μήνες προσπαθειών από διάφορους προγραμματιστές για να βοηθήσουν τον τελικό χρήστη να το απολαύσει με τόσο απλό και κατανοητό τρόπο.
Όπως λένε, η Ρώμη δεν χτίστηκε σε μια μέρα, αλλά τα τούβλα τοποθετούνταν κάθε ώρα:
Οπότε ναι, εξακολουθώ να δουλεύω για την υποστήριξη Nougat, όποτε το επιτρέπει ο ελεύθερος χρόνος μου, αλλά δεν έχω ιδέα πότε θα γίνει. Μόλις γίνει, θα ξέρετε.
Το Android δεν είναι τέλειο και το Xposed είναι αυτό που μας επιτρέπει να διορθώσουμε αυτό που δεν θα κάνει ο αρχικός προγραμματιστής. Η αναμονή για την απόλυτη επιδιόρθωση Android συνεχίζεται στο νεότερο λειτουργικό σύστημα και ευχόμαστε στο rovo89 καλή τύχη από το τέλος μας.
Μπορείτε να διαβάσετε την πλήρη δήλωση στο ανάρτηση στο φόρουμ. Περιμένεις και εσύ το Xposed; Ενημερώστε μας στα σχόλια!