Android System Architecture Analysis)

Source: Internet
Author: User
Tags vector font

2.3 Android System Architecture Analysis
The word "profiling" seems a bit harsh. The meaning of "Anatomy analysis" refers to an in-depth analysis of a person or thing, let others understand this person or the ins and outs of things. The road to learning Android is not smooth and requires a certain amount of time and effort. To better understand the essence of Android, it is necessary to understand the Android system architecture and its composition. In this way, you can know what android can do and what you want to learn.
2.3.1 Android Architecture
Android is a development platform for mobile devices. Its software hierarchy includes the Operating System (OS), middleware (middleware), and applications.Program(Application ). Based on the software block diagram of Android, the software hierarchy is divided into the following four layers from the bottom up.
Operating system layer (OS)
Libraries and Android runtime Environments)
Application Framework)
Application)
The specific structure of each layer is 2-19.

Figure 2-19 component structure of the Android operating system
1. operating system layer (OS)-bottom layer
Because Android originated from Linux and used the Linux kernel, Android uses Linux 2.6 as the operating system. Linux 2.6 is a standard technology, and Linux is also an open operating system. Android's use of the operating system includes the core and the driver. Android's Linux core is the standard Linux 2.6 kernel, and Android requires more drivers related to mobile devices. The main driver is as follows.
Display Driver: Commonly Used frame buffer drivers based on Linux.
Flash Memory DRIVER: A Flash Driver Based on MTD.
Camera DRIVER: commonly used Linux-based v4l drivers.
Audio driver: Commonly Used drivers based on ALSA (Advanced Linux sound architecture, advanced Linux sound system.
WiFi DRIVER: A Driver Based on the IEEE 802.11 standard.
Keyboard driver: Used as the keyboard driver of the input device.
Bluetooth driver: based on IEEE 802.15.1 standard wireless transmission technology.
Binder ipc driver: A special driver in Android, which has a separate device node and provides the function of inter-process communication.
Power Management: manages information such as battery power.
2. Various libraries and Android runtime-Middle Layer
This level corresponds to a General Embedded System, which is equivalent to a middleware level. Android has two levels: one is a variety of libraries and the other is the android runtime environment. Most of the content at this layer is implemented using C and C ++. The various libraries are as follows.
C: The standard library of C language is also the most underlying library in the system. C library is implemented through Linux system calls.
Media frameword: this is the core of Android multimedia, based on opencore of packetvideo (PV. This library is divided into two parts: audio and video playback (playback), and audio and video record (recorder ).
SGL: 2D image engine.
SSL: the Secure Socket Layer, which is located between the TCP/IP protocol and various application layer protocols. It provides security support for data communication.
OpenGL ES 1.0: Provides 3D support.
Surface management: Provides management and display sub-systems.
SQLite: A General Embedded Database.
WebKit: the Core of Web browsers.
FreeType: bitmap and vector font functions.
Android libraries are generally provided in the form of system middleware. A notable feature of these libraries is that they are closely related to the applications of mobile device platforms.
The android runtime environment mainly refers to the virtual machine technology Dalvik. The Dalvik virtual machine is different from the general Java Virtual Machine (Java VM). It does not execute the java standard bytecode, but the execution file in the Dalvik executable format (. Dex. During execution, each application is a process (a process in Linux ). The biggest difference between the two is that Java VM is stack-based, while Dalvik is register-based ). Obviously, the biggest advantage of the latter is that it can achieve greater Optimization Based on hardware, which is more suitable for the characteristics of mobile devices.
3. Application)
Android applications mainly involve user interfaces, which are usually written in Java and can contain various resource files (stored in the res directory) after the Java program and related resources are compiled, an APK package is generated. Android provides many core applications such as home, contact, phone, and browser. At the same time, application developers can use APIs at the application framework layer to implement their own applications. This is also a manifestation of the huge potential of Android open source.
4. Application Framework)
The Android Application Framework provides APIs for developers at the application layer. It is actually an application framework. Because the upper-layer applications are built in Java, this layer first contains various controls required in the UI program, such as views (view components ), it also includes list, grid, text box, button, and even an embedded web browser.
A basic Android Application can use the following five parts in the application framework.
Activity)
Broadcast intent receiver (broadcast intent receiver)
Service)
Content Provider)
Intent and intent filter (intent and intent filter)
This book aims to explain the development knowledge of Android multimedia applications and application knowledge. This knowledge is developed in Java. Of course, you also need to have knowledge of other layers, such as the underlying kernel and driver.

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.