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 is present in the root of Android architecture. Linux kernel is responsible for device driver, power management, memory management, device management and resource access.
2) Native Libraries
At the top of the Linux kernel, they are NativeLibraries like WebKit, OpenGL, FreeType, SQLite, Media, C Runtime Library (LBC) etc.
WebKit Library is responsible for browser support, is for SQLite database, media for running and recording freewip, audio and video formats for font support.
3) Android Runtime
In the Android runtime, there are core libraries and DVM (Dualvic Virtual Machine) who are responsible for running Android applications. DVM is like JVM but it is optimized for mobile devices. It consumes less memory and provides faster performance.
4) Android Framework
At the top of the original libraries and Android runtime, Android Framework is included in the Android framework, including UI (user interface) Android API, telephony, resource, location, content provider (data) and package manager. It offers several sections and interfaces for Android application development.
5) Applications
At the top of the Android Framework, apps are using all the apps, such as Home, Contacts, Settings, Games, Android Framework, which uses Android runtime and libraries. Android Runtime and Native Libraries are using Linux Kernel.