Figure 1 1: Android system architecture Green items are written in C/C++, blue items are written in Java and run in the Dalvik VM Image taken from [22
Previous PDF | Next PDF |
[PDF] Android - Architecture
15 mar 2020 · Android - Architecture - Tutorialspoint Android operating system is a stack of software components which is roughly divided into five sections
[PDF] Architecture Android Les spécificités de lOS - Captronic
Philippe Prados Architecture Android Cela apparaît dans tous les choix d' architecture du framework L'architecture a résisté à cinq ans de concurrence forte
[PDF] Android Architecture
History of Android Architecture • Five Layers ▫ Linux Kernel ▫ Android Runtime ▫ Libraries ▫ Application Framework ▫ Applications • Summary
[PDF] Analysis of the Android Architecture - ITEC - Operating Systems Group
Figure 1 1: Android system architecture Green items are written in C/C++, blue items are written in Java and run in the Dalvik VM Image taken from [22
[PDF] Chapitre 1 Découvrir la plateforme Android - Cedric-Cnam
L'architecture Android Android = un système d'exploitation open source pour smartphones, un environnement de construction d'application Android aapt
[PDF] Chapitre 1 Découvrir la plateforme Android - Cedric-Cnam
L'architecture Android (2/3) La couche "Applications" est un ensemble contenant des applications comme, un client de mail, des programmes pour envoyer des
[PDF] Architecture logicielles pour applications Android
Composition d'une application Android Une partie présentation (UI) Architecture logicielle typique Architecture en 3 couches Présentation
[PDF] Android Architecture Overview
Android Architecture Overview Android operating system is a stack of software components which is roughly divided into five sections and four main layers
[PDF] Étude des patrons architecturaux de type MVC - Archipel UQAM
1 1 1 Architecture et composantes principales 1 1 2 Les applications Android 1 2 Les patrons de conception 1 3 Les patrons architecturaux 1 3 1 Modèle-Vue-
[PDF] android cdd
[PDF] android cdd checklist
[PDF] android code
[PDF] android compatibility test
[PDF] android ecosystem
[PDF] android enterprise
[PDF] android enterprise security white paper
[PDF] android for work
[PDF] android gms requirements
[PDF] android hardware type automotive
[PDF] android java version compatibility
[PDF] android marshmallow specs
[PDF] android mobile app development process
[PDF] android phone hardware requirements
%Analysis of the Android
Architecture
Studienarbeit
vonStefan Br
¨ahler
an der Fakult¨at f¨ur Informatik
Erstgutachter:Prof. Dr. Frank Bellosa
Betreuende Mitarbeiter:Dr. Jan St¨oß, Dipl.-Inform. Konrad MillerBearbeitungszeit: 2. Juni 2010- 6. Oktober 2010
KIT - Universit
¨at des Landes Baden-W¨urttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaftwww.kit.edu
iiDeutsche ZusammenfassungDie vorliegende Studienarbeit besch¨aftigt sich mit dem Android Betriebsystem
f¨ur mobile Systeme. Die Arbeit stellt das System grunds¨atzlich vor und zeigt an einigen Stellen Besonderheiten und spezielle Anpassungen von Android auf. Als Betriebsystem f¨ur mobile Systeme wie Smartphones und Tablets liegen bei Android Schwerpunkte auf Energieeffizienz und Energieverwaltung. Diese Schwer- punkte treten an vielen Stellen in den Vordergrund bei Designentscheidungen und pr¨agen daher das System sehr stark. Android basiert auf Linux und verschiedenen typischen Bibliotheken und Diens- ten im Linux Umfeld auf, z.B. libSSL, FreeType und SQLite. Diese Infrastruktur bildet die Basis f¨ur eine Laufzeitumgebung in der Java Programme ausgef¨uhrt werden. Die Laufzeitumgebung Dalvik f¨uhrt modifizierte Java class Dateien aus, wobei jedes Programm in einer eigenen Dalvik Instanz in einem eigenen Prozess l¨auft. Dalvik ist spezialisiert und optimiert auf die besonderen Gegebenheiten und Limitierungen von mobilen Systemen, wie begrenzter Speicherplatz und Energie- bedarf. Anwendungen in Android sind aus verschiedenen Komponenten aufgebaut, wobei die einzelnen Komponenten klar getrennte Aufgabenbereiche haben. Diese Modularisierung erlaubt es, daß sich Anwendungen bestimmte Komponenten teilen k¨onnen und daß einzelne Komponenten im System ausgetauscht werden k¨onnen. Alle Anwendungen sind voneinander getrennt und k¨onnen im Normalfall nicht aufDaten anderer Anwendungen zugreifen.
In den Kernel sind einige¨Anderungen eingeflossen die den Android Ker- nel haupts¨achlich um neue Funktionen in Bereichen der Energieverwaltung und Speicherverwaltung erweitern. Die weitreichenste¨Anderung betrifft die Energie- verwaltung in Form der neu eingef¨uhrtenwake locks, welche es erlauben, dem System bestimmte Schlaf- und Ruhezust¨ande vorzuenthalten. Weiterhin sind neue Treiber und Anpassungen f¨ur die Android Infrastruktur in den Kernel gelangt. F¨ur die Anwendungsentwicklung stehen eine Vielzahl von Programmierschnitt- stellen bereit, welche viele Java Standard Schnittstellen abdecken und teilweise erweitern. Android bietet weitreichende Netzwerkunterst¨utzung und ein erweiter- bares Framework f¨ur verschiedenste Medienformate. Zur Datenspeicherung und iiiivDEUTSCHE ZUSAMMENFASSUNGDatenverwaltung stehen sowohl normale Dateien als auch SQLite Datenbankdatei-
en samt Mitteln zur Sicherung von Daten und Einstellungen zur Verf¨ugung. Um die Entwicklungsarbeit zu erleichtern, gibt es eine Vielzahl von Werkzeu- gen die in einem Software Development Kit (SDK) mitgeliefert werden. Zu diesen Werkzeugen geh¨oren u.a. ein Emulator, ein Eclipse Plugin und eine Debug Shell samt Debug Monitor. Zum Testen und Debuggen gibt es sowohl Werkzeuge, als auch ein Instrumentation Framework und angepasste JUnit Tests. Hiermit erkl¨are ich, die vorliegende Arbeit selbstst¨andig verfasst und keine anderen als die angegebenen Literaturhilfsmittel verwendet zu haben. I hereby declare that this thesis is a work of my own, and that only cited sources have been used.Karlsruhe, 6. Oktober 2010Stefan Br
¨ahler
v viDEUTSCHE ZUSAMMENFASSUNGContents
Deutsche Zusammenfassung iii
1 Introduction and overview of Android 3
1.1 Structural overview . . . . . . . . . . . . . . . . . . . . . . . . .
41.2 Brief version history . . . . . . . . . . . . . . . . . . . . . . . .
52 Application anatomy 7
2.1 Processes & threads . . . . . . . . . . . . . . . . . . . . . . . . .
72.2 Applications & tasks . . . . . . . . . . . . . . . . . . . . . . . .
82.3 Application internals . . . . . . . . . . . . . . . . . . . . . . . .
82.3.1 AndroidManifest.xml . . . . . . . . . . . . . . . . . . . .
92.3.2 Activities . . . . . . . . . . . . . . . . . . . . . . . . . .
92.3.3 Intents, Intent filters and receivers . . . . . . . . . . . . .
102.3.4 Content provider . . . . . . . . . . . . . . . . . . . . . .
102.3.5 Background activities . . . . . . . . . . . . . . . . . . . .
112.3.6 Application lifetime & states . . . . . . . . . . . . . . . .
112.4 RPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
132.5 Application security . . . . . . . . . . . . . . . . . . . . . . . . .
142.6 Native applications . . . . . . . . . . . . . . . . . . . . . . . . .
153 Dalv
´ık VM 17
3.1 Design requirements . . . . . . . . . . . . . . . . . . . . . . . .
173.2 General & file optimizations . . . . . . . . . . . . . . . . . . . .
183.2.1 Byte code format . . . . . . . . . . . . . . . . . . . . . .
193.2.2 Install time work . . . . . . . . . . . . . . . . . . . . . .
203.3 Optimizations of memory allocation and usage . . . . . . . . . .
213.3.1 Zygote . . . . . . . . . . . . . . . . . . . . . . . . . . .
213.3.2 Garbage collection . . . . . . . . . . . . . . . . . . . . .
213.4 JIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
223.4.1 Types of JITs & Android"s JIT . . . . . . . . . . . . . . .
223.4.2 Future of Android"s JIT . . . . . . . . . . . . . . . . . .
231