Android-Architektur

Das Android-Betriebssystem ist ein Stapel von Softwarekomponenten, der im Architekturdiagramm grob in fünf Teile und vier Hauptschichten unterteilt werden kann.

Android 架构


Linux-Kernel

Ganz unten in allen Schichten befindet sich Linux - Linux 3.6 mit ungefähr 115 Patches. Es bietet grundlegende Systemfunktionen wie Prozessverwaltung, Speicherverwaltung und Geräteverwaltung (z. B. Kamera, Tastatur, Display). Gleichzeitig kümmert sich der Kernel um all die Arbeiten, in denen Linux hervorragend ist, wie Netzwerke und eine große Anzahl von Gerätetreibern, wodurch die Unannehmlichkeit vermieden wird, mit einer Vielzahl von Peripherie-Hardware-Schnittstellen kompatibel sein zu müssen.


Bibliotheken

Über der Linux-Kernel-Schicht befindet sich eine Sammlung von Bibliotheken, darunter die Open-Source-Webbrowser-Engine WebKit, die bekannte libc-Bibliothek, die SQLite-Datenbank zur Datenspeicherung und zum Teilen von Anwendungsdaten, Bibliotheken zum Abspielen und Aufzeichnen von Audio und Video sowie die SSL-Bibliothek für Netzwerksicherheit und andere.


Android-Bibliotheken

Diese Kategorie umfasst Java-basierte Bibliotheken, die speziell für Android entwickelt wurden. Beispiele für Bibliotheken in dieser Kategorie sind Bibliotheken des Anwendungsframeworks, wie Erstellung von Benutzeroberflächen, Grafikzeichnung und Datenbankzugriff. Einige der Android-Kernbibliotheken, die Android-Entwicklern zur Verfügung stehen, sind im Folgenden zusammengefasst:

  • android.app - Bietet Zugriff auf das Anwendungsmodell und ist der Eckpfeiler aller Android-Anwendungen.
  • android.content - Ermöglicht Inhaltszugriff, Veröffentlichung und Nachrichtenübermittlung zwischen Anwendungen und zwischen Anwendungskomponenten.
  • android.database - Wird für den Zugriff auf von Content-Providern veröffentlichte Daten verwendet, einschließlich SQLite-Datenbankverwaltungsklassen.
  • android.opengl - Die Java-Schnittstelle zur OpenGL ES 3D-Grafikrendering-API.
  • android.os - Verleiht Anwendungen die Fähigkeit, auf standardmäßige Betriebssystemdienste zuzugreifen, einschließlich Nachrichtenübermittlung, Systemdienste und Interprozesskommunikation.
  • android.text - Rendert und manipuliert Text auf Gerätedisplays.
  • android.view - Die grundlegenden Bausteine von Anwendungsbenutzeroberflächen.
  • android.widget - Eine reichhaltige Sammlung vorgefertigter Benutzeroberflächenkomponenten, darunter Schaltflächen, Beschriftungen, Listen, Layout-Manager, Optionsfelder und mehr.
  • android.webkit - Eine Sammlung von Klassen, die es Anwendungen ermöglichen, integrierte Webbrowser-Funktionen bereitzustellen.

Nachdem wir nun die Java-basierten Kernbibliotheken in der Schicht der Android-Laufzeitumgebung betrachtet haben, ist es an der Zeit, sich auf die C/C++-basierten Bibliotheken im Android-Software-Stack zu konzentrieren.


Android-Laufzeitumgebung

Dies ist der dritte Abschnitt in der Architektur und die zweite Schicht von unten. Dieser Abschnitt stellt eine Schlüsselkomponente namens Dalvik Virtual Machine bereit, die der Java Virtual Machine ähnelt, aber speziell für Android entwickelt und optimiert wurde.

Die Dalvik Virtual Machine ermöglicht die Nutzung von Linux-Kernfunktionen wie Speicherverwaltung und Multithreading in Java. Die Dalvik Virtual Machine ermöglicht es jeder Android-Anwendung, in einem eigenen unabhängigen Virtual-Machine-Prozess zu laufen.

Die Android-Laufzeitumgebung bietet außerdem eine Reihe von Kernbibliotheken, damit Android-Anwendungsentwickler Android-Anwendungen mit der standardmäßigen Java-Sprache schreiben können.


Anwendungsframework

Die Application-Framework-Schicht stellt Anwendungen viele übergeordnete Dienste in Form von Java-Klassen bereit. Anwendungsentwickler dürfen diese Dienste in ihren Anwendungen verwenden.

  • Activity Manager - Steuert alle Aspekte des Anwendungslebenszyklus und des Activity-Stapels.
  • Content-Provider - Ermöglichen Anwendungen, Daten zu veröffentlichen und zwischen Anwendungen gemeinsam zu nutzen.
  • Resource Manager - Bietet Zugriff auf nicht im Code eingebettete Ressourcen wie Zeichenfolgen, Farbeinstellungen und Benutzeroberflächen-Layouts.
  • Notification Manager - Ermöglicht Anwendungen, Dialoge oder Benachrichtigungen für Benutzer anzuzeigen.
  • View System - Eine erweiterbare Sammlung von Views zur Erstellung von Anwendungsoberflächen.

Anwendungen

Auf der obersten Ebene befinden sich alle Android-Anwendungen. Die von Ihnen geschriebenen Anwendungen werden ebenfalls in dieser Schicht installiert. Zu diesen Anwendungen gehören Kontakte, Browser, Spiele und mehr.

Andere Erweiterungen