- Linux Kernel
Bottom of the pile on the Android architecture is the kernel. Google uses the Linux kernel version 2.6 to build the Android system, which includes memory management, security settings, power management, and some hardware diver.
Kernel acts as abstraction layer between the hardware and software overall. For example, HTC GI equipped with a camera that allows users to send commands to the camera hardware.
- Android Runtime
Layer after Linux kernel is the Android Runtime. Android Runtime contains Core Libraries and Dalvik Virtual Machine. Core Libraries include a core set of Java libraries, which means that Android includes a set of basic libraries that provide most of the functions that exist in libraries basic java programming language.
Dalvik is a Java Virtual Machine that gives strength to the Android system Dalvik VM is optimized for mobile phones.
Any application that runs on Android runs in its own process, with the instance of the Dalvik Virtual Machine. Dalvik has been made so that a device that use it can run multiple virtual machines efficiently. Dalvik VM can execute the file format Dalvik Executable (.dex) that has been optimized to use minimal memory footprint. The virtual machine is register-based, and runs classes compiled using the compile Java that are then transformed into .dex format using the "dx" tool that has been included.
Dalvik Virtual Machine (VM) uses the Linux kernel to perform functions such as threading and low-level memory management.
Housed in the same level with the Android Runtime is libraries. Android includes a set of libraries in C / C ++ is used by various system components in the Android application framework. For example, Android supports playback of audio formats, video and pictures.
Here are some of the core library:
System C library
Derived from the implementation of the standard C system library (libc) as BSD optimized for Linux-based embedded devices.
Based on PacketVideo's OpenCore; These libraries support playback and recording of various popular audio and video formats include MPEG4, H.264, MP3, AAC, AMR, JPG and PNG
Regulate access to the display and layer composites 2D and 3D graphic of the various applications
Web browser that supports modern engine Android browser and an embeddable web view
The underlying 2D graphics engine
Implementation based on OpenGL ES 1.0 APIs; This library uses 3D hardware acceleration and highly optimized 3D software rasterizer.
Bitmap and vector font rendering.
Relational databases are powerful and lightweight engine available to all applications.
- Application Framework
The next layer is the application framework that includes a program to manage the basic functions of a smartphone. Application Framework is a set of basic tools such as resource allocation smartphone, phone apps, switching among processes or programs, and tracking the physical location of the phone. The application developer has full application to the basic tools, and use it to create more complex applications.
Entrenched in the top layer of the application itself. In this layer you find basic smartphone functions such as calling and sending short messages, run a browser, access the contact list, and others. for the average user, this is the layer that most often they access. They access the basic functions through the user interface.