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:纸杯蛋糕32009.4.30
Android 1.6:Donut:甜甜圈42009.9.15
Android 2.0/2.0.1/2.1:Eclair:松饼5/6/72009.10.26
Android 2.2/2.2.1:Froyo:冻酸奶82010.5.20
Android 2.3:Gingerbread:姜饼92010.12.7
Android 3.0:Honeycomb:蜂巢112011.2.2
Android 3.1:Honeycomb:蜂巢122011.5.11
Android 3.2:Honeycomb:蜂巢132011.7.13
Android 4.0:Ice Cream Sandwich:冰激凌三文治142011.10.19
Android 4.1:Jelly Bean:果冻豆162012.6.28
Android 4.2:Jelly Bean:果冻豆172012.10.30
Android 4.3:Jelly Bean:果冻豆182013.7.25
Android 4.4:KitKat:奇巧巧克力192013.11.01
Android 5.0:Lollipop:棒棒糖212014.10.16
Android M:预览版222015.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 :


Android系统份额分布图(截止2015年1月)

.

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 :

Android平台架构图

Une compréhension simple de l'architecture :

  1. 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

  2. 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

  3. 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 : Dalvik的运行流程

  4. 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 !