Android Architecture Image

Android architecture is the foundation and structure that makes an Android device work. Android architecture consists of layers that work together to run apps smoothly on android devices. Think of it like Body layers where each layer has a different role.     

Android Architecture image for blog

Components of Android Architecture

Android architecture consists of five components which are as follows: 

  • Linux Kernel
  • Platform libraries
  • Android Runtime (ART)
  • Application Framework
  • Applications
1. Linux Kernel

Linux Kernel is heart of the android architecture. It manages all the available drivers such as display drivers, camera drivers, Bluetooth drivers, audio drivers, etc. which are required during the runtime. it’s a bridge between Device Hardware and components of android architecture.

Linux Kernel Image
  • Memory Management: It efficiently handles the memory management
  • Process Management: It handles all the processes and allocate memory when needed
  • Security: Linux kernel Provides the security between the application and the system
  • Network Stack: It Manages the network communication
2. Platform libraries

The Platform Libraries includes various C/C++ libraries and Java based libraries

Platform Libraries Image
  • Surface Manager: It is responsible for managing access to the display subsystem
  • Media Framework: It provides support to play and record an audio and video formats.
  • SQLite: Provides database support
  • OpenGL (Open Graphics Library): It is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics
  • Free Type: Provides font support
  • Webkit: provides all the functionality to display web content and to simplify page loading
  • SGL (Simple Graphics Library): it is used for 2D and 3D computer graphics.
  • SSL (Secure Socket Layer): is security technology to establish an encrypted link between a web server and a web browser.
3. Android Runtime (ART)

Android Runtime environment is one of the most important part of Android It contains components like core libraries and the Dalvik virtual machine(DVM). Mainly, it provides the base for the application framework and powers our application with the help of the core libraries.

Android Runtime Image
  • DVM (Dalvik Virtual Machine): DVM is like JVM Which is responsible to run android applications, it is optimized for Mobile devices. it consumes less memory and provide fast performance.
  • Core Libraries: It enable us to implement android applications using the JAVA or Kotlin programming languages.
  • Zygote: Zygote is a process in the Android operating system that serves as the root for all app and system processes.
4. Application Framework

Application Framework provides several important JAVA classes  which are used to create an Android application, Application Developer can use these classes to build their android Apps.

Application Framework Image
  • Activity Manager: Controls all aspects of the application lifecycle and activity stack
  • Content Provides: Allows applications to publish and share data with other applications
  • Notification Manager: Allows applications to display alerts and notifications to the user
  • Package Manager: Class for retrieving various kinds of information related to the application packages that are currently installed on the device
  • View System: An extensible set of views used to create application user interfaces
  • Resource Manager: Provides access to non-code embedded resources such as strings, color settings and user interface layouts
5. Application

Applications is the top layer of android architecture. The pre-installed apps like Contact, Camera, Gallery, Browser and all the third-party apps like WhatsApp, Facebook, Gmail will be installed on this layer.