Skip to content

Latest commit

 

History

History
55 lines (50 loc) · 2.57 KB

1.2 -- Architecture.md

File metadata and controls

55 lines (50 loc) · 2.57 KB

Android Architecture Components

1. Linux Kernel
2. Libraries
3. Android Runtime
4. Application Framework
5. Application

Linux Kernel

- Kernel Contain all the essentials drivers and assemblers to work with Hardware.
- Kernel Performs all the Low-Level Hardware Management Functions.
- Linux Kernel contain a Binder framework for its Inter Process Communication.
- Main functions of Android Kernel
	:- Memory Management
	:- Security Setting
	:- Power Management
	:- Shared Libraries
	:- Hardware Abstraction
	:- Network Stack

Libraries Layer

- Libraries are used to handle different type of data
- In Android Libraries were written in C or C++ language
- For Library writing Driver Development Kit (DDK) is used
- Some Common Libraries for Common Data
	:- Media Manager :- Contain various Media Codec which allows recording and playback for different Media Formats.
	:- SQLite :- Light Weight Database engine to store data.
	:- WebKit :- WebKit is a browser engine that render all you webpages.
	:- OpenGL :- Render 2D and 3D Graphic Content on the Screen.
	:- SSL :- Ensure Secure Data transmission between 2 devices with help of Cryptographic Functions.
	:- FreeType :- Render Fonts on Screen

Android Runtime (ART)

- ART contain Core Java Libraries to execute compiled Java Code.
- ART execute .dex files which contain compiled java code.
- DVM (Dalvik Virtual Machine) is the Virtual Machine that execute Android applications
- DVM was replaced by ART with release of Android v5.0 Lollipop
- DVM and ART Execute lightweight Dalvik byte Code
- Android application which is written in java is compiled into Java Byte Code which is then Translated into Dalvik Bytecode which is stored into .dex file.
- Dalvik Byte Code can be efficiently execute on Low powered memory or devices.
- Major Features of ART
	:- Improve Garbage Collection :- Reclaim unused memory occupied by objects no longer in use.
	:- Ahead-Of-Time (AOT) :- Improves App performance
	:- Enhanced Development and Debugging Experience.

Application Framework

- Provide Packages and their classes for developers to perform common tasks.
- Common Application Framework
	:- Activity Manager :- Handle Activities, Services and Containing Process.
	:- Notification Manager :- Inform user about Application events and System Events.
	:- Location Manager :- Provide geographical location to applications and System.
	:- Telephone Manager :- Provide Telephonic Features for Calling
	:- Content Provider :- Helps in Data Sharing between Applications.

Application

- All the User Application are available at this layer