Android platform Architecture and features

Source: Internet
Author: User

The Android platform incorporates integrated strategy ideas, including the underlying Linux operating system, middleware in the middle tier, and upper-level Java applications. Let me summarize the features and architecture architecture of Android.

First, the Android platform features

The Android platform has the following features:

1. The application framework supports the reuse and substitution of components.

This way we can remove the unwanted applications from our system and install our favorite applications.

2. The Dalvik virtual machine is optimized for mobile devices.

The android application translates the class files written and compiled by Java into a file with a suffix called. Dex through the DX tool. Dalvik virtual machines are register-based and are much faster than Java virtual machines.

3. The internal integrated browser is based on the open source WebKit engine.

With the built-in browser, which will mean the end of the era of WAP applications, the real mobile internet era has come, the mobile phone is a "small computer", you can roam freely on the internet.

4. Optimized graphics library including 2D and 3D graphics library, 3D graphics library based on OpenGL ES 1.0.

Powerful graphics libraries bring the gospel to game development. The most important applications in 3G are mobile internet and mobile games.

5. SQLite is used as a structured data store.

6. Multimedia support includes common audio, video, and static impression file formats

such as MPEG4, H. MP3, AAC, AMR, JGP, PNG, GIF.

7. GSM phone (dependent on hardware).

8. Bluetooth, EDGE, 3G, WiFi (Hardware dependent).

9. Camera, GPS, compass and accelerometer (hardware dependent).

10. Rich development environment includes device Simulator, debugging tool, memory and performance analysis chart and Eclipse integrated development environment plug-in.

Google offers the Android SDK, which contains a number of class libraries and development tools, as well as a visual development plugin ADT for Eclipse.

Second, the Android platform architecture


Architecture of the Android operating system

From what we can see, the architecture of the Android operating system can be divided into 4 tiers, from top to bottom applications, application frameworks, core class libraries, and the Linux kernel, and the third tier also includes the Android runtime environment. Each section is explained below.

  1. Program Application

Android is published along with a core application package that includes e-mail clients, SMS short message programs, calendars, maps, browsers, contact management programs, and more. All of the applications are written in Java.

  2. Application Framework

Developers have complete access to the API framework used by the core application. The application framework architecture is designed to simplify the reuse of component software, and any application can publish its block of functionality and any other application can use its published block of functionality (though it follows the framework's security restrictions). The application reuse mechanism allows the component to be replaced by the user.

All of the following applications are comprised of a range of services and systems, including:

1) An extensible view (views) can be used to create an application, including a list (lists), a network (grids), a TextBox (text boxes), a button (buttons), or even a Web browser that can be embedded.

2) Content Manager (Providers) enables applications to access data from another application, such as a contact database, or share their own data.

3) A resource Manager (Resource Manager) provides access to non-code resources, such as local strings, graphics, and hierarchical files (layout file).

4) a Notification Manager (Notification Manager) enables applications to display customer notification information in the status bar.

5) An Activity manager is used to manage the application lifecycle and provide common navigation fallback functionality.

  3. Android Program Library

Android consists of a C + + library that is used by various components of the Android system. The library provides services to developers through the Android application framework.

Here are some of the main core libraries:

1) System C Library: A standard C system function library (LIBC) inherited from BSD, specifically tailored for embedded Linux-based devices.

2) Media Library: based on PacketVideo Opencore; The library supports playback, and can record many popular audio video formats, as well as static image files including MPEG4, H, MP3, AAC, JPG, PNG.

3) Surface Manager: Manages the display subsystem and provides seamless integration of 3D layers to multiple applications.

4) Libwebcore: An up-to-date web browser engine to support Android browsers and an embeddable Web view.

5) SGL: A built-in 2D graphics engine.

6) 3D libraries: Based on OpenGL ES 1.0 APIs, the library can use hardware 3D acceleration (if available) or use highly optimized 3D soft acceleration.

7) FreeType: Bitmap (bitmap) and vector (vectors) font display.

8) SQLite: A lightweight relational database engine that makes the application available and powerful.

  4. Android Runtime

Android includes a core library that provides most of the functionality of the Java programming language core library.

Each Android application runs in its own process and has a separate instance of the Dalvik virtual machine. Dalvik is implemented for running multiple VMS simultaneously and efficiently. The Dalvik virtual machine executes. Dex's Dalvik executable, which is optimized for minimal memory usage. The virtual machine is register-based, and all classes are compiled by the Java assembler and then converted to. dex format by the DX tool in the SDK, executed by the virtual machine.

Dalvik virtual machines rely on some of the features of Linux, such as threading mechanisms and underlying memory management mechanisms.

  5. Linux kernel

Android's core system services rely on the Linux kernel, such as security, memory management, process management, network protocol stacks, and drive models. The Linux kernel also acts as a hardware abstraction layer between hardware and software stacks.

Related documents: Google engineers multi-figure detailed Android architecture

Android platform Architecture and features

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.