Architecture of Android OS



Android uses Linux for its memory management, process management, networking, and other operating system services. The Android phone user will never see Linux or in other words our application will not make Linux calls directly.
Some parts of Android will be familiar, such as the Linux Kernel, OpenGL, and the SQL database. Others may be completely foreign, such as Android's idea of the application life cycle. You'll need a good understanding of these key concepts in order to write well-behaved Android applications. 

The Android OS is roughly divided into five sections in four main layers:
  • Linux kernel — This is the kernel on which Android is based. This layer contains all the lowlevel device drivers for the various hardware components of an Android device. Android uses Linux for its device drivers, memory management, process management, and networking. However you will never be programming to this layer directly.
  • Libraries — These contain all the code that provides the main features of an Android OS. Forexample, the SQLite library provides database support so that an application can use it fordata storage. The WebKit library provides functionalities for web browsing. They are all written in C/C++ internally, but you'll be calling them through Java interfaces.
  • Android runtime — At the same layer as the libraries, the Android runtime provides a set of corelibraries that enable developers to write Android apps using the Java programming language. The Android runtime also includes the Dalvik virtual machine, which enables every Android application to run in its own process, with its own instance of the Dalvik virtual machine (Android applications are compiled into the Dalvik executables). Dalvik is a specialized virtual machine designed specifically for Android and optimized for battery-powered mobile devices with limited memory and CPU.
  • Application framework — Exposes the various capabilities of the Android OS to application developers so that they can make use of them in their applications.
  • Applications — At this top layer, you will find applications that ship with the Android device (such as Phone, Contacts, Browser, etc.), as well as applications that you download and installfrom the Android Market. Any applications that you write are located at this layer.

0 comments:

Post a Comment