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 Architecture
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
- Libraries
- Android Runtime
- Application Framework
- Applications
Lets discuss them one by one in detail.
Linux Kernel
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.
Libraries
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.
Android Runtime
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
Application Framework
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
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.
The information regarding dalvik is outdated.
Android now uses ART instead of Dalvik.
Thanks Bismeet for telling, I have updated the information.
Is application framework and native libraries same? ??