En fait, le main()
est la classe du cadre Android android.app.ActivityThread
. Cette méthode crée l'interface principale (UI) Thread
pour un processus OS, met en place le Looper
sur elle et lance la boucle d'événement.
Le cadre Android est responsable de la création et de la destruction des processus du système d'exploitation, du lancement des applications, du démarrage des activités, des services et d'autres composants. Le site ActivityManager
fait partie du cadre Android et est responsable de la coordination et de la gestion des différents composants.
L'architecture d'Android est un peu différente de celle des applications Java autonomes auxquelles vous êtes peut-être habitué. La plus grande différence est que tous vos composants ( Activity
, Service
, BroadcastReceiver
) ne s'exécutent pas nécessairement dans le même processus d'OS ou dans la même machine virtuelle (VM). Il est possible que des composants d'une même application s'exécutent dans différents processus d'OS et il est également possible que des composants de différentes applications s'exécutent dans le même processus d'OS. En Java traditionnel, le main()
est la méthode qui est appelée par la machine virtuelle après que le processus OS ait été créé et que la machine virtuelle ait terminé son initialisation.