Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Google Android Architecture
Android is an operating system developed by Google for mobile systems. It is based on the Linux kernel and mainly designed for touchscreen devices such as tablets and smartphones. Android's layered architecture ensures modularity, security, and efficient resource management across diverse hardware platforms.
The Android architecture is divided into four main layers and five sections, creating a structured environment where each layer serves specific functions and communicates with adjacent layers.
Applications
The Android applications reside in the top layer of the architecture. They are mainly written in Java or Kotlin and run within individual instances of the Android Runtime. Applications include system apps (Phone, Contacts, Browser) and third-party apps downloaded from Google Play Store. The main features of Android applications emphasize performance and efficiency in both implementation and execution.
Application Framework
The application framework provides a set of services that form the environment in which applications run. This layer exposes the underlying system capabilities through well-defined APIs.
Activity Manager
Controls all aspects of the application lifecycle and activity stack, managing how applications start, pause, resume, and terminate.
Resource Manager
Provides access to non-code embedded resources such as strings, color settings, layouts, and images that are externalized from the application code.
Notification Manager
Enables applications to display alerts, notifications, and status updates to users in a consistent manner across the system.
Content Provider
Allows applications to share and publish data with other applications in a secure, standardized way, enabling inter-application communication.
Libraries and Android Runtime
This layer consists of two main components running side by side −
Native Libraries
SQLite − Lightweight relational database engine for data storage
WebKit − Web browser engine for rendering web content
OpenGL ES − 3D graphics rendering library
Media Framework − Audio and video playback and recording
SSL − Secure network communication
Android Runtime (ART)
The Android Runtime provides the execution environment for Android applications. Originally used the Dalvik Virtual Machine, but newer versions use ART (Android Runtime) which compiles apps at install time for better performance. It handles memory management, garbage collection, and multi-threading.
Linux Kernel
The Linux kernel forms the foundation of Android architecture, providing a level of abstraction between hardware and software layers. It contains essential hardware drivers including display, camera, Bluetooth, WiFi, keyboard, and audio drivers. The kernel also handles memory management, process management, security, and power management.
Key Features
| Layer | Primary Function | Key Components |
|---|---|---|
| Applications | User Interface | Native apps, Third-party apps |
| Framework | API Services | Activity Manager, Content Providers |
| Libraries/Runtime | Code Execution | Native libraries, ART/Dalvik |
| Linux Kernel | Hardware Abstraction | Device drivers, Memory management |
Conclusion
Android's layered architecture provides a robust, scalable platform for mobile development. Each layer serves distinct purposes while maintaining clean separation of concerns, enabling efficient resource management and security. This modular design allows Android to run on diverse hardware while providing consistent APIs for application developers.
