Tuesday, 15 November 2011

ARCHITECTURE OF ANDROID

The figure below shows the Android architecture that consists of five layers of the Linux Kernel, Library, Android Runtime, Application Framework, and Application.

image

Figure 4. Android Architecture
Sources: Android Developers

A. Linux Kernel
Bottom layer in the architecture of this Android is the kernel. Google uses Linux kernel version 2.6 to build the Android system, which includes memory management, security settings, power management, and some hardware drivers. The kernel acts as abstraction layer between hardware and software overall. For example, HTC's GI is equipped with a camera. On the Android kernel there is a camera driver that enables users to send commands to the camera hardware.

B. Android Runtime
Layer after the Linux kernel is Android Runtime. Android Runtime Core Libraries and contains the Dalvik Virtual Machine ( Dalvik VM ). Core Libraries includes a core set of Java libraries, mean Android includes a set of basic libraries that provides most of the functions that exist in the base libraries Java programming language. Dalvik is a Java Virtual Machine that is used on the Android system. Dalvik VM is on optimizing for mobile phones.
Any application that runs on Android running on its own process, with the instance of the Dalvik VM. Dalvik has been made to wear a device that can run multiple virtual machines efficiently. Dalvik VM executes files with the format can Dalvik Executable (. Dex ) that has been optimized to use minimal memory footprint. This register -based Virtual Machine, and runs classes compiled using the Java compiler is then transformed into the format. Dex using the " dx " tool that has been included. Dalvik VM uses the Linux kernel to perform functions such as threading and low-level memory management.

C. Libraries
Library housed in the same level with the Android Runtime. Android includes a set of libraries in C / C is used by various components in the system Android. This capability can be accessed by the programmer through the Android application framework. For example, Android supports playback of audio formats, videos, and pictures. Here are some of the core library:
1. System C Library
Derived from the implementation of the standard C system library ( libc ) owned by BSD, optimized for embedded devices based on Linux.
2. media Libraries
Based on Packet Video OpenCORE. These libraries support playback and recording of audio and video stormy popular formats, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.

3. surface Manager
Regulate access to the display and layer compositing 2D and 3D graphics from a variety of applications.
4. LibWebCore
Web browser that supports modern engines as well as embeddable Android web browser view.
5. SGL
The core of the 2D graphics engine.
6. 3D Libraries
Implementation based on OpenGL ES 1.0 API. This library uses 3D hardware acceleration and highly optimized 3D software rasterizer.
7. FreeType
Used to render bitmap and vector fonts.
8. SQLite
Relational databases are powerful and lightweight engine is available for all applications.

D. Application Framework
The next layer is the application framework, which includes a program to manage the basic functions of a smartphone. Application Framework is a set of basic tools such as resource allocation smartphones, phone application, change of inter - process or program, and tracking the physical location of the phone. The application developer has full access to these basic tools, and use it to create more complex applications.
Developers get full access to utilize the API ( Android Interface Protocol ) which is also used core applications. Application architecture is designed to simplify the reuse of components, each application can demonstrate its ability and other applications can use these capabilities. The same mechanism allows the user changes the desired components.
In all there are applications and system services that include:
1. A set of Views that can be used to build applications including lists, grids, text boxes, buttons, and embeddable web browser.

2. Content Providers that enable applications to access data from other applications ( eg Contacts), or to divide the available data.
3. Resource Manager, providing access to non -code resources such as localized strings, graphics, and layout files.
4. Notification Manager that enables all applications to display custom alerts in the status bar.
5. Activity Manager to manage application life cycle and provides a common navigation backstack.

E. Application
At the top layer is the application itself. In this layer there is a basic smartphone functions such as call and send a short message, running a web browser, access the contact list, and others. For the average user, this is the layer most often they access. They access the basic functions through a user interface.

No comments:

Post a Comment