Corrélation d’arrière-plan et analyse de l’architecture du système
1. Contexte d'Android et situation actuelle
Le système Android a été créé par Andy Rubin et a ensuite été acquis par Google. La première version est : la version Android 1.1 ; La dernière version est la 5.28 cette année, Android M a été lancé lors de la conférence Google I/O. Il est intéressant de noter que les noms des systèmes Android portent tous le nom de snacks. Le tableau suivant montre les 15 noms de versions d'Android, les numéros d'API correspondants et l'heure de sortie. !
系统版本名称 | API版本号 | 发布时间 |
---|---|---|
Android 1.5:Cupcake:纸杯蛋糕 | 3 | 2009.4.30 |
Android 1.6:Donut:甜甜圈 | 4 | 2009.9.15 |
Android 2.0/2.0.1/2.1:Eclair:松饼 | 5/6/7 | 2009.10.26 |
Android 2.2/2.2.1:Froyo:冻酸奶 | 8 | 2010.5.20 |
Android 2.3:Gingerbread:姜饼 | 9 | 2010.12.7 |
Android 3.0:Honeycomb:蜂巢 | 11 | 2011.2.2 |
Android 3.1:Honeycomb:蜂巢 | 12 | 2011.5.11 |
Android 3.2:Honeycomb:蜂巢 | 13 | 2011.7.13 |
Android 4.0:Ice Cream Sandwich:冰激凌三文治 | 14 | 2011.10.19 |
Android 4.1:Jelly Bean:果冻豆 | 16 | 2012.6.28 |
Android 4.2:Jelly Bean:果冻豆 | 17 | 2012.10.30 |
Android 4.3:Jelly Bean:果冻豆 | 18 | 2013.7.25 |
Android 4.4:KitKat:奇巧巧克力 | 19 | 2013.11.01 |
Android 5.0:Lollipop:棒棒糖 | 21 | 2014.10.16 |
Android M:预览版 | 22 | 2015.5.28 |
Eh bien, en plus des versions publiques ci-dessus, il existe bien sûr d'autres versions. Depuis 2015.1, la part de marché de chaque version est la suivante :
.
Regardez Après avoir lu les informations ci-dessus, nous pouvons nous poser cette question : Il existe tellement de versions du système, quelle version devons-nous cibler lors du développement ? C’est le problème de « fragmentation » d’Android auquel un Android doit faire face, et ce problème se divise en deux : ① Fragmentation du système : lorsque nous développons des applications, nous devrons peut-être être compatibles avec des versions inférieures. Par exemple, la compatibilité minimale est la version 2.3 en raison de la prévalence de diverses personnalisations de Rom, les Chinois aiment apporter certaines modifications au système natif. ce qui conduit à des problèmes réalisables mais non réalisables sur une Rom personnalisée, tels que les appels avec caméra ~ ②Fragmentation de l'écran : il existe différentes tailles d'écran de téléphones mobiles sur le marché, 4,3 pouces, 4,5 pouces, 4,7 pouces, 5,0 pouces, 5,3 pouces... etc. En plus des téléphones mobiles, il existe également des tablettes Android, donc pendant le développement, nous mai Pour résoudre ce problème d'adaptation à l'écran, bien sûr, nous n'avons pas besoin de considérer ces choses compliquées lorsque nous l'apprenons pour la première fois. Nous y reviendrons dans le développement réel ultérieur !
2. Fonctionnalités du système Android et architecture de la plate-forme
Fonctionnalités du système :
Le cadre d'application prend en charge la réutilisation et le remplacement de composants (L'application est conforme aux conventions du framework à sa sortie, et d'autres applications peuvent également utiliser ce module)
DalvikMachine virtuelle : spécialement optimisé pour les appareils mobiles -Navigateur intégré : Moteur WebKit open source
SQLiteStockage de données structurées
Graphiques optimisés bibliothèque, support multimédia, technologie de téléphonie GSM, Bluetooth, etc.
Construit selon la méthode empilage de logiciels
Schéma de l'architecture de la plateforme :
Une compréhension simple de l'architecture :
Couche de programme d'application) Ce que l'on appelle généralement le développement de la couche applicative s'effectue à ce niveau, qui comprend bien entendu un ensemble d'applications intégrées au système, utilisant le langage Java
Application Framework (Application Framework Layer)Qu'elle soit intégrée au système ou à l'application que nous écrivons nous-mêmes, nous devons utiliser cette couche. Par exemple, si nous voulons mettre sur liste noire les appels entrants et raccrocher automatiquement le téléphone, nous devons utiliser la gestion du téléphone (TelephonyManager) Grâce à cette couche, nous pouvons facilement implémenter l'opération de raccrochage sans nous soucier de l'implémentation sous-jacente
Bibliothèques (bibliothèque) + Android Runtime (Android runtime)Android nous fournit un ensemble de bibliothèques C/C++ qui sont utilisées par différents composants de la plateforme, tels que les médias frameworks ; Le Runtime Android est composé de l'ensemble de bibliothèques de base Android + la machine virtuelle Dalvik est une machine virtuelle pour les appareils mobiles. Ses caractéristiques : elle ne nécessite pas une vitesse de calcul rapide du processeur et une grande quantité d'espace mémoire ; chaque application Chaque application s'exécute séparément dans une machine virtuelle Dalvik distincte pour un processus Dalvik) et son processus d'exécution simple est le suivant :
Noyau Linux ici Cela implique des éléments liés au pilote sous-jacent, à certains services système, tels que la sécurité, la gestion de la mémoire et la gestion des processus, etc.
Résumé de cette section :
Dans cette section, nous comprenons le contexte historique et la situation actuelle d'Android, puis analysons brièvement les caractéristiques du système et l'architecture du système d'Android. Il nous suffit de comprendre ces éléments conceptuels, et dans la section suivante, nous commencerons à construire. l'environnement Android !