Android is developed by Google and it is a mobile operating system, based on Linux kernel. The Android operating system is a collection of different components and these components are divided into 5 sections, and the stack which holds all these components is known as Android stack or Android Architecture. Here in this article, we will discuss the 5 different components of Android Architecture.
- Linux Kernel
- Android Native libraries
- Android Runtime
- Application framework
As we know that Android architecture is a structure pattern of Layers one above another, and Linux kernel lay at the bottom of this architecture. It provides a foundation to all the other Android components and provides many key features for the development of the Android Operating system. It is also termed as the heart of the Android Architecture because it provides the level of abstraction between the hardware devices and the upper layer of Android Architecture. It contains all the important hardware drivers such as a keyboard, display, camera, etc. Apart from Hardware drivers Linux Kernel also takes care of memory management, power management, device management and resource access.
Some essential function handle by Linux Kernel
- Memory Management
- Process Management
- Network Communication
- Hardware Drivers
Android Native Libraries
The next layer of Android Architecture is Native libraries and it lay just on the top of Linux Kernel. The native libraries are a collection of different libraries written in C++ and Java, which are used to perform different tasks on data. Native libraries mostly include open source libraries which play an important role in the Android App development. All the task that performs on Data such as storing of data, showing graphical interface, link with internet, etc all done with the help of these libraries.
Some Open Source Libraries:
- WebKit: It is an open source library used to display web content
- Media Framework: This helps us to play and record audio and video
- Secure Socket Layer: Help with Internet Security
- SQLite: Use to store data
- Open GL: This helps us to create 2d and 3d graphics
It is the third section of Android Architecture and it lay at the top of Linux Kernel and have a vital role to execute the Android App. When the source code gets compile it turned into bytecode here the Android runtime comes in play. Android runtime consists core libraries and Dalvik Virtual Machine (DVM), which is similar to Java virtual machine, the only difference is Android use only DVM to execute its code.
Android Runtime also consists of many core libraries, which help developers to write an android application using Standard Java.
The Application framework is the second topmost layer of the Android architecture. This layer of Android architecture interacts with our program and form an environment on which the program can run. This layer provides many key services such as resource management, voice call management, etc. It includes many APIs which provides Java classes and interface to android development.
Some key services of the Application framework.
- Android Manager: It manages the life cycle of an application
- Content provides: It allow the data sharing between two application
- Resource Manager: It provide access to settings and user interface layout
- Notification Manager: It manages the notification alerts.
- Telephony manager: It manages the voice calls
It stands at the top of the Android architecture basically the user interacts with it directly. It contain two components native application and third-party applications. All the applications that you have downloaded on your android application fall under Application.
People Also Looking For:
- Top 40+ Android Interview Questions
- Get the Complete list of Best C++ IDE
- Comparison between Java and Kotlin