Rovo89: Mise à jour sur le développement de Xposed pour le nougat
La raison pour laquelle je continue personnellement à utiliser Android 6.0 Marshmallow sur mon OnePlus 3 , malgré que OnePlus supprime la mise à jour du Nougat pour le téléphone à des canaux stables, c'est la présence de Xposed. Le cadre Xposed et l'écosystème du module constituent une partie cruciale de l'expérience Android que je préfère - au point où je suis disposé à renoncer à la dernière mise à jour du système d'exploitation de l'OEM juste pour savourer ce fruit sucré.
Alors que Xposed for Nougat prend du temps à venir et certains d'entre nous ne se soucient pas d'attendre plus loin, il a été un moment depuis que nous avons entendu parler de l'avancement du projet.
Le développeur reconnu senior de XDA rovo89 a pris du temps pour nous informer de la situation actuelle concernant le projet Xposed for Nougat:
"Il semble que de plus en plus de gens s'inquiètent de savoir si (et quand) il y aura Xposed for Nougat ou non, alors j'ai senti que je devais dire quelque chose.
Pourquoi cela prend-il tant de temps? Parce qu'avec chaque version, j'essaie de faire en sorte que Xposed s'intègre parfaitement aux améliorations apportées à la nouvelle version ART. L'étape de Lollipop à Marshmallow n'était pas énorme. C'était une évolution, certaines choses ont même permis d'intégrer Xposed de manière plus élégante. Dans l'ensemble, il s'agissait principalement d'un portage prudent plutôt que d'une innovation.
Avec le nougat, quelque chose de fondamental a changé. Si vous utilisez Nougat déjà, vous aurez remarqué que les installations sont beaucoup plus rapides maintenant. C'est parce que les APK ne sont pas compilés immédiatement (AOT), mais commencent en mode d'interprétation (plus lent). Cela semble mal, mais ils ont activé JIT, qui compilera rapidement ces méthodes qui sont utilisées très souvent. Cela permettra de restaurer les performances bien connues et en constante amélioration du code natif. En plus, ART conserve une liste de ces méthodes fréquemment utilisées ("profilage"). Lorsque le périphérique est inactif, il effectue finalement la compilation AOT, mais en fonction des données de profils. Ensuite, vous obtenez les excellentes performances dès le lancement de l'application. JIT attend toujours au cas où les modèles d'utilisation changeraient, et je pense que cela ajustera le profil et améliorera la compilation AOT.
Cela aboutit à différents états de compilation différents et à une plus grande complexité. En outre, il y avait beaucoup de problèmes dans le passé causés par le besoin de Xposed de recompiler l'ensemble de la ROM et de toutes les applications: cela a parfois provoqué des boucles de démarrage lorsque les fichiers odex étaient trop pré-optimisés, il a bloqué assez d'espace de stockage pour stocker les fichiers recompilés , Et j'avais besoin de désactiver certaines optimisations comme des appels de pointage direct et direct. J'espère pouvoir utiliser le compilateur JIT pour éviter cela dans Nougat. Si Xposed savait d'où une méthode est appelée, elle pourrait invalider le code compilé des appelants, de sorte qu'ils utiliseraient temporairement l'interprète. Si elles sont assez importantes, JIT les recompile.
J'ai déjà fait beaucoup de recherches et d'expériences pour cela et j'essaie de l'appliquer. Mais comme vous pouvez l'imaginer, tout cela fait beaucoup d'effort et peut facilement prendre des centaines d'heures ... "<suite dans le forum post>
Le problème principal, comme c'est habituellement le cas dans les projets d'amateur, est l'attribution du temps, et nous comprenons d'où vient rovo89. Même si le projet Xposed se présente actuellement, il comprend des mois d'efforts de divers développeurs pour permettre à l'utilisateur final de bénéficier d'une manière aussi simple et distribuable.
Comme on dit, Rome n'a pas été construite en un jour, mais les briques ont été posées toutes les heures:
" Donc, oui, je travaille encore sur le support de Nougat, chaque fois que mon temps libre le permet, mais je n'ai aucune idée quand cela sera fait. Une fois cela terminé, vous le saurez. "
Rovo89
Android n'est pas parfait et Xposed est ce qui nous permet de résoudre ce que le développeur original ne sera pas. L'attente de la solution Android optimale continue sur le système d'exploitation le plus récent, et nous souhaitons à Rovo89 la bonne chance de notre fin.