Four-layer structure of the Android system

Source: Internet
Author: User

As you can see, the Android architecture is a four-tier structure, from the upper layer to the lower layer, respectively, the application layer (applications), the application framework (application framework), the System Runtime Layer (Libraries), and Linux kernel layer (Linux Kernel), respectively, described as follows:


    • 1. Application Layer (applications)
The
Android platform is not just an operating system, it also contains many applications such as SMS SMS client programs, Phone Dialer, image browser, Web browser, and more. These applications are written in the Java language, and these applications can be replaced by other applications developed by the developer, which is different from the system software that other mobile operating systems solidify within the system, more flexible and more personalized.

    • 2. Application Framework layer (application framework)
The
application framework layer is the foundation of our Android development, and many of the core applications are implemented through this layer to implement its core functionality, which simplifies the reuse of components, and allows developers to use the components they provide for rapid application development, as well as to personalize the expansion through inheritance.

A. Activity Manager (active manager)
Manage individual application lifecycles and common navigation fallback capabilities

B. Window Manager (Windows Manager)
Manage all the Windows programs

C. Content Provider (contents provider)
Enabling access or sharing of data between different applications

D. View system (View systems)
Building the basic components of an application

E. Notification Manager (Notification Manager)
Enables applications to display custom prompts in the status bar

F. Package Manager (bundle manager)
Program Management in Android system

G. Telephony Manager (phone manager)
Manage all your mobile device features

H. Resource Manager (Resource Manager)
Provides various non-code resources used by the application, such as localized strings, pictures, layout files, color files, etc.

I. Location Manager (position Manager)
Provide location services

J. XMPP Service (XMPP services)
Provide Google Talk services

    • 3. System Runtime Layer (Libraries)
As
can be seen, the system runtime layer can be divided into two parts, the system library and the Android runtime, respectively, described as follows:
A. System Library
The system library is the support of the application framework and is an important link between the application framework layer and the Linux kernel layer. It is mainly divided into the following several:
    1. surface manager: When executing multiple applications, it is responsible for managing the interaction between the display and access operations, and also for  2D  Drawing and  3D  drawing for display compositing.
    2. media framework: Multimedia library, based on  packetvideo opencore Support a variety of commonly used audio, video format recording and playback, the encoding format includes MPEG4, MP3, H. *, AAC, ARM.
    3. sqlite :  small relational database engine.
    4. opengl| ES: A library of  3D  drawing functions implemented according to the  OpenGL ES 1.0API  standard.
    5. freetype: Provides a description and display of dot matrix and vector words.
    6. webkit: A set of web browser software engines.
    7. SGL: the underlying  2D  graphics Rendering engine.
    8. ssl: Handshake is implemented during  Android  communication.
    9. LIBC: Standard  c system function library from  BSD , specifically for  embedded-based  linux  Equipment Customization.
B. Android Runtime
The android application is written in the Java language, and the program executes in the Android runtime, which runs at the core library and Dalvik virtual machine two parts.
    1. Core Library: The core library provides most of the functionality in the Java language API, as well as some of Android's core APIs, such as Android.os, Android.net, Android.media, and so on.
    2. Dalvik virtual machines: Android programs are different from J2ME programs, each Android application has a proprietary process, and not many programs run in a virtual machine, but each Android program has a Dalvik instance of the virtual machine and executes it in that instance. Dalvik virtual machine is a register-based Java virtual machine, rather than a traditional stack-based virtual machine, and the use of memory resources to optimize and support the characteristics of multiple virtual machines. It is important to note that unlike the J2me,android program that executes in a virtual machine is not a compiled bytecode, instead the Java bytecode is converted to an intermediate code in DEX format by the conversion tool DX.
    • 4. Linux kernel layer (Linux Kernel)
Android is based on the Linux2.6 kernel, and its core system services such as security, memory management, process management, network protocols, and driver models all depend on the Linux kernel.

Four-layer structure of the Android system

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.