Layers of Android

 



1)Linux kernel

Android is built on top of solid foundation i.e. Linux kernel. Linux provides the hardware abstraction layer for android ,allowing android to be ported to a wide variety of platform in the future. Internally android uses linux for memory management, process management, networking and other operating system services. 

2)Libraries

The next layer above the kernel contains the Android native libraries . These shared libraries are all written in c or c++ ,compiled for the particular hardware architecture used by the phone and preinstalled by phone vendor.

 some of important native libraries are 

SQL database : Android includes the lightweight SQLite database engine. the same database used in Firefox and the Apple iPhone.

2D and 3D graphics : Two and three dimensional elements can be combined in a single user interface with android. The library will use 3d hardware if the device has it or  a fast software renderer if it doesn't. 

Browser engine : For the fast display of HTML content , android uses the webKit library. This is the same engine used in the google chrome browser, Apple's safari browser , the Apple iPhone , and Nokia's S60 platform.

3)Android Runtime

Also sitting on top of the kernel is the android runtime , including the dalvik virtual machine and the core java libraries.

*Dalvik virtual machine : 

    The dalvik VM runs .dex files, which are converted at compile time from standard .class and .jar files. .dex files are more compact and efficient than class files , an important consideration for the limited memory and battery powered devices that android targets.

The Android runtime also provides a set of core libraries which enable Android application developers to write Android applications using standard Java programming language.

4) Application Framework

This layer provides the high-level building blocks you will use to create your applications. The framework comes preinstalled with android. the most important parts of the framework are as follows,

*Activity manager : This controls the life cycle of  application and maintain a common "backstack" for user navigation.

*Content provider : These object encapsulate data that needs to be shared between application,such as contact.

*Resource Manager : Resources are anything that goes with your program that is not code.

*Notification Manager : Events such as arriving messages , appointment, proximity alerts , alien invasions and more can be presented in an unobtrusive fashion to the user.

5) Applications

The highest  layer in the android architecture diagram is the Application. End user will see only thee programs. Applications are programs that can take over the whole screen and interact with the user.



Post a Comment

0 Comments