What is Android)

Source: Internet
Author: User
Tags vector font

What is Android?

Android is a software stack for mobile devices. It includes operating systems, middleware, and key applications. Android SDK providesProgramming LanguageDevelop applicationsProgramNecessary tools and APIs.


* The application framework makes components reusable and replaceable

* The Dalvik virtual machine is optimized for mobile devices.

* The integrated browser is based on the open-source WebKit engine.

* Optimized graphics processing is based on a custom 2D graphics library and a 3D image based on opengles 1.0 specifications (optional hardware acceleration ).

* SQLite Structured Data Storage

* Media supports common audio and video formats (MPEG4, H.264, MP3, AAC, Amr, JPG, PNG, and GIF)

* Gsm phone (based on hardware)

* Bluetooth, edge, 3G, and WiFi (based on hardware)

* Cameras, GPS, compass, and acceleration sensors (based on hardware)

* A wide range of development environments include device simulators, debugging tools, memory and performance analysis tools, and plug-ins for Eclipse IDE.

Android Architecture

Displays the main components of the Android operating system. Each part is described in more detail.




Android will be equipped with a series of core applications, including email clients, SMS programs, calendars, maps, browsers, address books, etc. All applications use the Java programming language.

Application Framework

By providing an open development platform, Android gives developers the opportunity to build extremely rich and innovative applications. Development allows you to freely use devices, access location information, run background services, Set alarms, and add notifications to status bars.

Developers can use the same API framework as core applications. The application architecture is designed to simplify Component Reuse. Any application can publish its functions, other applications may exploit these features (which must comply with the security constraints provided by the Framework ). With the same mechanism, components can be replaced by users.

All applications at the underlying layer are a set of services and subsystems, including:

* A group of rich and scalable views that can be used to build an application, including lists, tables, text boxes, buttons, and even embedded web browsers

* A set of contentproviders allows applications to access data of other applications (such as Address Book) or share their own data.

* A Resource Manager that providesCodeResource access, such as localized strings, images, and layout files

* One notification management function allows all applications to display custom notifications in the status bar.

* An activity is used to manage the life cycle of an application and provides a general backend switch stack.

For more information about an application, see the notepad code example.


Android includes a set of C/C ++ libraries, which are used by various components of the Android system. These capabilities are presented to application developers through the Android Application Framework. Some core libraries are as follows:

* System C library-a BSD derivation implementation for the Standard C system library (libc) and adjustment for Embedded Linux Devices

* Media library-Open Core Based on packetvideo. This Library supports playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H. 264, MP3, AAC, Amr, JPG, and PNG

* Surface Manager-Manage access display subsystems and seamlessly synthesize 2D and 3D graphic layers from multiple programs

* Libwebcore-a popular web browser engine with excellent support for Android browsers and embedded web views

* SGL-underlying 2D graphics engine

* 3D library-an implementation based on OpenGL ES 1.0 API; this library uses hardware 3D acceleration (if available) or includes a highly optimized 3D software grating Scanner

* FreeType-used for bitmap and vector font rendering

* SQLite-a powerful and lightweight Relational Database Engine provided for all applications

Android running

Android includes a set of core libraries, which provide most of the functions available in the core library for Java programming language.

Each Android Application runs in its own process and is attached to a single Dalvik Virtual Machine instance. One device can efficiently run multiple Dalvik virtual machines. The Dalvik virtual machine executes the Dalvik executable file (. Dex) format, which is optimized with minimal memory usage. The Dalvik virtual machine is register-based and runs the DX tool to convert the class file compiled by the Java language compiler to the DEX format file.

The underlying functions of the Dalvik virtual machine depend on the Linux kernel, such as threads and underlying memory management.

Linux Kernel

Android core system services, such as security, memory management, process management, network protocol stack, and driver modules, depend on Linux 2.6. The kernel is also used as an abstraction layer between the hardware and software stacks.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.