Android Architecure
Android architecture or
Android software stack is categorized into five parts:
- linux kernel
- native libraries (middleware),
- Android Runtime
- Application Framework
- Applications
Let's see the android architecture first.
1) Linux kernel
It is the heart of android architecture that exists at the root of android architecture.
Linux kernel is responsible for device drivers, power management, memory management, device management and resource access.
2) Native Libraries
On the top of linux kernel, their are
Native libraries such as WebKit, OpenGL, FreeType, SQLite, Media, C runtime library (libc) etc.
The WebKit library is responsible for browser support, SQLite is for
database, FreeType for font support, Media for playing and recording
audio and video formats.
3) Android Runtime
In android runtime, there are core libraries and DVM (Dalvik Virtual
Machine) which is responsible to run android application. DVM is like
JVM but it is optimized for mobile devices. It consumes less memory and
provides fast performance.
4) Android Framework
On the top of Native libraries and android runtime, there is android framework. Android framework includes
Android API's
such as UI (User Interface), telephony, resources, locations, Content
Providers (data) and package managers. It provides a lot of classes and
interfaces for android application development.
5) Applications
On the top of android framework, there are applications. All
applications such as home, contact, settings, games, browsers are using
android framework that uses android runtime and libraries. Android
runtime and native libraries are using Linux kernel.