What is Android?

Source: Internet
Author: User
Tags vector font

What is Android?

Android is a complete mobile phone software platform, including the underlying operating system (Linux), middleware and some key applications. Android
An SDK is provided to help developers develop data using the Java language.

Features

  • Application Framework: provides a mechanism for components to be reused and replaced.
  • Dalvik Virtual Machine: dedicated Optimization for mobile devices
  • Browser: Based on WebKit Engine
  • Optimized Graphics Library: based on a custom 2D graphics library; 3D graphics library based on OpenGL ES 1.0 draft (optional for hardware acceleration)
  • SQLite
  • Media Support: includes common audio, video, and static image formats (MPEG4, H.264, MP3, AAC, Amr, JPG, PNG,
    GIF)
  • GSM Library (hardware related)
  • Bluetooth, edge, 3G, and WiFi (hardware-related)
  • Camera, GPS, compass, and accelerometer (hardware-related)
  • A complete development environment, including a simulator, debugging tool, memory and performance analysis tool, and Eclipse IDE plug-in

Android Architecture

The main components of the Android platform are given (see http://code.google.com/android/images/system-architecture.jpg)

Application

The Android platform is pre-installed with some core mobile phone applications, including emails, text messages,
Calendar, MAP, browser, Address Book, etc. These applications are all written in Java. Developers also need to use Java to develop their own applications on the Android platform.

Application Framework

Any API used by core applications (such as email and SMS), Android
All developers can access it. An important consideration for Android architecture design is to make components easy to reuse: Any application can publish functions to the system, any other application can call these functions (without violating the system security policy ).
This mechanism also allows any component to be replaced by the developer.

A group of services and function libraries under an application, including:

  • A group of rich and easily scalable views (Controls) used to build the graphic user interface of an application, including list, grid, text box,
    Button, or even a powerful web browser control
  • Content Provider
    (Content provider), so that an application can access the data of another application (such as the address book), or share its own data for use by other applications.
  • Resource Manager, which provides interfaces to access non-code of an application
    (Non-code) resources, such as localized strings, image files, and layout files.
  • Notification MANAGER: All applications can use notification
    The manager displays customized alert (notification) or status information in the status bar.
  • Activity MANAGER: manages the lifecycle of an application and the background mechanism of the activity window.

Library

The Android platform contains a set of C/C ++ libraries,
For upper-layer components. Developers cannot directly access these libraries, but they can access these libraries through the Android Application Framework. Some core databases are listed below:

  • A BSD-derived Implementation of the System C language library-Standard C system library (libc), and optimized for embedded devices
  • Media repository-opencore eager for packetvideo. This library supports the playback and recording/image of many audio frequency formats and static images,
    For example, MPEG4 and H. 264, MP3, AAC, Amr, JPG, and PNG.
  • Surface Manager-Manages access to the display subsystem and seamlessly integrates 2D and 3D layers for multiple applications
  • Libwebcore-advanced Web browser engine. Android browser applications and Web View
    (Controls that can be embedded into other applications) are based on this library.
  • SGL-underlying 2D graphics engine
  • 3D library-Based on OpenGL ES 1.0
    An API implementation library. If the hardware provides the 3D acceleration function, this library will use the hardware function. Otherwise, an optimized 3D software library will be used.
  • FreeType-bitmap and vector font engine
  • SQLite-lightweight relational database engine.

Android Runtime

Android contains a set of core libraries and provides most functions of the Java core library.
Each Android Application runs in its own process space and in a separate Dalvik
Virtual Machine instance. The Design of Dalvik ensures that multiple virtual machines (instances) can be effectively run on the same device ). The executable file format running on Dalvik is Dalvik
Executable (. Dex ). This format occupies a small amount of memory. The VM is register-based (?), The running class is composed of a Java
Compiled by the compiler, and then converted from the "dx" tool to the. Dex format.
The Dalvik Virtual Machine relies on Linux kernel to provide some basic functions, such as thread and primary memory management.

Linux
Kernel

Android depends on Linux
Kernel 2.6 provides some core functions, such as security mechanisms, memory management, process management, network protocol stacks, and driver models. The kernel also provides an abstraction layer for the hardware.

 

Original article connection:

Http://blog.sina.com.cn/s/blog_5e71b14f0100bkho.html

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.