Without proper knowledge of android architecture you may face difficulty in learning android programming. So in this tutorial I will discuss about architecture of android operating system.
Read Previous Tutorial: Introduction to Android Programming
Android OS is a stack of different software components. Android architecture is basically divided into five sections and four layers. The various sections and layers are illustrated below.
- Linux kernel
- Android Runtime
- Application Framework
Lets discuss them one by one in detail.
It is like heart of android operating system and present at the bottom of android architecture.
Linux kernel contains essential hardware drivers like display, audio, camera, bluetooth, wifi, etc.
It provides functionalities such as power management, process management and memory management.
The first android version 1.0 was built using Linux kernel version 2.6.
It provides a level of abstraction between device hardware and upper layers of Android software stack.
Above Linux kernel there are native libraries such as SQLite, WebKit, OpenGL, SSL, etc. Some of these libraries are briefly explained below.
SQLite – It provides various classes used for database management.
WebKit – It is a web browser engine used to display internet content.
SSL – It provides internet security.
OpenGL – It is a Java interface to the OpenGL ES 3D graphics rendering API.
It is third section which is also present on the second layer from bottom of Android architecture.
Android runtime provides core libraries and Dalvik Virtual Machine (DVM).
These core libraries enable Android developers to write Android applications using standard Java programming language.
Dalvik Virtual Machine is a major component of Android OS. It is same as like Java Virtual Machine (JVM).
DVM is responsible for running Android applications. It consumes less memory and provides very fast performance.
Note: From Android version 4.4, the DVM is replaced by ART
It is the fourth section and third layer present on the top of native libraries and android runtime.
Application framework provides various API’s like activity manager, resource manager, content providers, telephony manager, etc.
These API’s are used by Android application developers.
Applications layer is present at the top. Various applications created by developers like games, contacts, browser, etc are installed on this layer.
If you find anything incorrect or have doubts regarding above Android architecture tutorial then comment below.