Android Architecture

Android Architecture Overview

Android is open-source and it is Linux-based. This is created for a wide array of devices. But it sure that the Android Architecture's layer structure makes it possible to apply updates with bug fixes or improvements to each layer on its own. The layers ensure that changes across layers don't interfere with each other. This makes it possible for people working at a different level of the OS to work with each other.
Android architecture contains different number of components to support any android device needs. Android software contains an open-source Linux Kernel having collection of number of C/C++ libraries which are exposed through an application framework services.
Among all the components Linux Kernel provides main functionality of operating system functions to smartphones and Dalvik Virtual Machine (DVM) provide platform for running an android application.
    The main components of android architecture are following:-
    • Applications
    • Application Framework
    • Android Runtime
    • Platform Libraries / native libraries
    • Linux Kernel

Applications

  • Applications is the top layer of android architecture. there are applications like home, contact, settings, games, browsers ,gallery etc and third party applications downloaded from the play store like chat applications, games etc. will be installed on this layer only.
  • This is the layer that end-users interact with . this layer where application developers publish their applications to run.
  • Android, by default, comes with a set of applications that make android devices usable from the offset.
  • It runs within the Android run time with the help of the classes and services provided by the application framework.

Android Framework

  • On the top of Native libraries and android runtime, there is android framework. this layer provides us Application programming interface and higher-level services.
  • Also, the features of the Android operating system are available to us through 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.
  • It includes different types of services activity manager, notification manager, view system, package manager and Content provider etc.
  • This are helpful for the development of our application according to the prerequisite.

    • The application framework consists of following key services:
        1. Activity Manager : The method in this class uses testing and debugging methods.
        2. Content provider :In this method It provides data from application to other layers.
        3. Resource Manager : In this method It provides access to non-code resources.
        4. Notification Manager :In this method the users get notification about all the actions happening in the background.
        5. View System : this method acts as a base class for widgets and is responsible for event handling.

Android Runtime

  • In the third section of the architecture and the second layer from the bottom Android Runtime is present . which is responsible to run android application.
  • This section provides a key component called Dalvik Virtual Machine (DVM) which is a kind of Java Virtual Machine specially designed and optimized for Android. It consumes less memory and provides fast performance.
  • The Dalvik VM makes use of Linux core features like memory management and multi-threading.
  • The Dalvik VM enables every Android application to run in its own process, with its own instance of the Dalvik virtual machine.
  • The Android runtime also provides a set of core libraries which enable Android application developers to write Android applications using standard Java programming language.

Platform Libraries / native libraries

  • On top of Linux kernel there is Platform Libraries / native libraries are present.
  • This libraries that are specific to Android development.This category include the application framework libraries in addition to those that facilitate user interface building, graphics drawing and database access.
  • Android libraries available to the Android developer is as follows −
  • Open - source WebKit , OpenGL , surface manager, FreeType, SQLite , Media, C , C++ runtime library (libc) etc.
  • The Web Kit library is responsible for browser support engine WebKit, OpenGL graphics system, SQLite is for database, surface manager is responsible for ensuring the smooth rendering of application screens, FreeType for font support, Media for playing and record audio and video, SSL libraries responsible for Internet security etc.

Linux kernel

  • At the bottom of the Architecture layer there is Linux Kernel is present and It is the heart of android architecture.
  • The root component of the Android System is the Linux Kernel.
  • It is the foundational piece that enables all of Android's functionality.
  • Linux kernel is responsible for Memory management, power management, resource management, resource access, Device drivers and Process Management.
  • This provides a level of abstraction between the device hardware and the kernel handles all the things that Linux is really good at such as networking and a vast array of device drivers, which take the pain out of interfacing to peripheral hardware.
Thank You For Visiting Our Website!
Image Credit : Click here for Image information.
Please Visit : Introduction to Android – Code-Tech Community
And make sure to leave us a comment down below , we will be happy to know if this worked for you.

Happy Coding Mates ! 🙂

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Shopping Cart