Android Architecture

Android Architecture

Android Architecture

android architecture or Android software stack is categorized into five parts:
  1. linux kernel
  1. native libraries (middleware),
  1. Android Runtime
  1. Application Framework
  1. 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
 
notion image