2017-09-24 4 views
1

Récemment, lorsque j'apprenais sur la gestion des ressources d'Android, j'ai rencontré des problèmes intéressants.Quel est le processus d'android lors du démarrage d'une application et comment elle interagit avec la classe R au moment de l'exécution?

1) Du point de vue interne de l'environnement d'exécution Android, quelles sont les mesures prises par Android OS pour démarrer une application installée?

2) La classe R class-R est un conteneur pour les valeurs numériques statiques pour les ressources. Mais à la fin c'est une collection d'entiers. Comment android mappe ces entiers aux ressources en interne?

setContentView(R.layout.activity_main); 

Voici ce que setContentView() passé est un entier. Mais cela correspond au fichier activity_main.xml.

Il en va de même pour les ressources telles que les chaînes, etc. La connexion entre les fichiers de ressources, le code et la classe R, lors de l'exécution semble être un peu confuse.

Répondre

0

La classe R mappe l'ID de ressource avec les ressources qui sont construites au moment de la compilation, où tous les identifiants des ressources du xml sont conservés.

L'API Android trouve les ressources elle-même en utilisant l'ID dans le moteur d'exécution.