Lors de la précédente conférence de lancement du Huawei P30 en Chine, Huawei a déclaré que grâce au compilateur Ark, la fluidité du fonctionnement du système peut être améliorée de 24 %, la réponse du système peut être améliorée de 44 % et la fluidité du fonctionnement des applications tierces peut être améliorée de 60%. On peut dire qu'il s'agit du plus grand contributeur à l'expérience de la série Huawei P30.
En tant que tout nouveau mécanisme de compilation et d'exécution de systèmes et d'applications, le compilateur Ark a transformé Android à partir du niveau de l'ADN, brisant les barrières entre performances et consommation d'énergie. . Seesaw résout le problème d'inefficacité des applications Android expliquées et exécutées en même temps, permettant aux téléphones mobiles de comprendre directement les « langages de haut niveau ». Cela peut être considéré comme la plus grande innovation fondamentale du camp Android de ces dernières années.
Dans l'après-midi du 25 avril, Huawei a organisé l'événement « Huawei Technology EMUI Media Salon » à Pékin. Lors de cet événement, Huawei a expliqué pour la première fois en détail les principes d'application du compilateur Ark utilisé par la série P30 dans le système EMUI 9.1 d'un point de vue officiel. (Apprentissage recommandé : Tutoriel vidéo PHP)
Tout d'abord, nous devons comprendre ce qu'est un compilateur. En termes simples, un compilateur traduit le langage que nous comprenons en un langage composé de 0 et de 1 que l'ordinateur peut comprendre.
Tout comme lorsque nous communiquons avec des étrangers, il est difficile de communiquer dans différentes langues, mais tant que l'une des langues est traduite dans une langue que l'autre partie peut comprendre, la communication peut être réussie.
La plus grande caractéristique du compilateur Ark de Huawei est qu'il s'agit du premier compilateur du secteur à prendre en charge l'optimisation conjointe multilingue, ce qui signifie que C/C++ et Java sont pris en charge.
Par conséquent, face à des applications Android développées à l'aide de langages mixtes, le compilateur Ark peut compiler en un processus unifié dans l'environnement de développement et l'exécuter via une représentation et une optimisation unifiées du programme, le rendant plus efficace.
En d'autres termes, le mécanisme de fonctionnement actuel d'Android est comme deux personnes préparant des tâches de manière indépendante, et intégrant finalement les résultats de leurs préparations pour exécution. Le compilateur Ark a demandé aux deux personnes de se préparer ensemble puis d'effectuer la tâche ensemble.
La compilation du système Android lui-même est exécutée via la machine virtuelle ART, elle consomme donc beaucoup de ressources système. Le compilateur Ark a déjà terminé la compilation statique pendant le développement, il n'a donc pas besoin de s'appuyer sur le téléphone lui-même pour la compilation.
Par exemple, passez un examen à livre ouvert. Un étudiant a prévisualisé les points de connaissances qui peuvent être testés avant l'examen, a noté le contenu correspondant et écrit rapidement après avoir obtenu l'examen. Un étudiant s'appuie sur "l'improvisation ; " et feuilleter temporairement les documents dans la salle d'examen, ce qui prend beaucoup de temps d'examen.
Dans le même temps, le compilateur Ark fournit également un mécanisme de recyclage de mémoire plus efficace. Puisqu'il n'est pas nécessaire de passer par une machine virtuelle, l'application n'a pas besoin d'être mise en pause pendant son fonctionnement et la mémoire peut être recyclée à tout moment, au lieu d'entasser les déchets pour les recycler.
Une autre fonction essentielle du compilateur Ark est d'optimiser le code. Ce qu'on appelle l'optimisation du code consiste à apporter des performances plus élevées au programme.
Pour donner un exemple très simple, la même personne passe le test deux fois. Comment peut-on rendre le deuxième test meilleur que le premier test ?
Comme mentionné précédemment, la compilation dynamique existante du système Android utilise la machine virtuelle ART pour s'exécuter sur la machine, tandis que le compilateur Ark effectue une compilation statique pendant le développement.
Par conséquent, les premiers ne peuvent utiliser que des algorithmes d'optimisation simples, tandis que les seconds peuvent briser les limitations fonctionnelles des téléphones mobiles et utiliser différents algorithmes de compilation et d'optimisation selon différentes applications.
Enfin, un autre point fort du compilateur Ark de Huawei est son faible coût d’apprentissage et d’utilisation. Étant donné que l'environnement de compilation a été intégré dans la phase de packaging avant la sortie de l'APP, l'ensemble du processus est en fait simplifié pour les développeurs, ce qui le rend plus pratique à utiliser.
Huawei a déclaré que le compilateur Ark sera entièrement open source à partir de 2019. Cela signifie que les fabricants de téléphones mobiles et les développeurs d'applications peuvent utiliser le compilateur Ark pour optimiser les performances des applications.
En général, les principaux avantages de la compilation d'applications via le compilateur Huawei Ark par rapport à Android existant sont :
1. Relâchez la pression de la compilation machine et complétez la compilation statique des applications pendant le développement. via la machine virtuelle ART.
2. Adoptez différents types de solutions d'optimisation des applications pour obtenir des effets de fonctionnement optimaux.
3. Fournir un mécanisme de recyclage de mémoire plus efficace pour améliorer la fluidité du système.
4. Simplifiez le processus de compilation et réduisez les coûts d’apprentissage et d’utilisation des développeurs.
Selon le calendrier officiel de Huawei, Ark Compiler ouvrira le code du framework du compilateur lors de la Huawei Terminal Developer Conference en août 2019 et publiera le code complet lors de la Green Alliance Developer Conference en novembre 2019. Code du compilateur Ark.
Pour plus d'articles techniques liés à PHP, veuillez visiter la colonne Tutoriel graphique PHP pour apprendre !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!