Android system introduction and framework

Source: Internet
Author: User
Tags acer
1. What is andriod?

Android is an open-source mobile OS developed by Google. Android Chinese names are commonly referred to as "android" by Chinese users ". The Android operating system is designed based on the Linux kernel and uses Dalvik developed by Google.
Java virtual machine. Android has become the world's largest smartphone operating system.

1) Openness

Android is completely open-source, and the platform's user interfaces and applications from the underlying operating system to the upper layer do not have any exclusive obstacles that impede industrial innovation. At the same time, the biggest advantage of open source is that the Android platform will have a growing number of developers, and as users and applications become increasingly rich, it will inevitably make the brand-new Android platform mature and stable.

2) vendor support

Android camp

Hundreds of giants such as HTC, Samsung, Motorola, LG, Sony Ericsson, Asus, Acer, Huawei, ZTE, sharp, Lenovo, and meizu have launched their Android-based smartphones or tablets.

Symbian camp

Currently, only one mobile phone is supported by Nokia, including the N Series, E series, and X Series mobile phones.

IOS camp

Only supported by Apple, mainly iPhone and iPad

WebOS camp

Only one supported by RIM Blackberry

Windows Phone 7 is also in the android camp, but since WP7 is not an open-source system, many vendors do not have the opportunity to participate. Only a few mobile phone manufacturers support it, and there is no corresponding tablet operating system, as a senior mobile developer for many years, android123 compares the SDK with Windows
There is a big gap between phone 7 and Android. From the current Microsoft strategy and closed APIs, it can be said that it is difficult to compete with Android.

3) Dalvik Virtual Machine

Dalvik virtual machine is a Java
VM, Which is optimized for files compared with sun VM. For example, multiple class files are merged into a DEX file. Android applications are mainly developed in Java, but Google provides system-level Java
API, which is very different from the non-smart phone-supported sun j2-java VM. We can see that the Android software supports underlying applications such as calling firewall display in the firewall, which are windows
Phone 7 and iPhone do not have.

4) Diversified

Currently, the android system is used in addition to smartphones, as well as tablets and Smart TVs. Currently, Motorola, Samsung, LG, HTC, Acer, Asus, and other companies have launched tablets, at the same time, Chinese manufacturers such as skyworth and Tcl have launched Android Smart TVs, and more Smart appliances, set-top boxes, and on-board electronic devices will eventually emerge.

5) No boundaries between applications

Android breaks the boundaries between applications. developers can associate their own programs with local contacts, calendars, and location information. In addition, applications can self-declare that their functions can be used by other applications.

6) closely integrate with Google applications

Google, the world's largest online search service provider, has gradually penetrated into people's daily life over the past 10 years. People no longer just want to use computer terminals to enjoy online services such as Gamil, Google Maps, and online translation. The extension of PC to mobile terminals has become an inevitable trend. The seamless integration of Android and Google services can fully satisfy people's aspirations.

Ii. Android framework

 

It can be seen that the Android system architecture is a four-layer structure, from the upper layer to the lower layer are the application layer, the application framework layer, the system Runtime Library layer, and the Linux kernel layer, which are described as follows:

1)Application Layer

The Android platform is not only an operating system, but also contains many applications, such as SMS client, dialing, image browser, and Web browser. These applications are all written in Java and can be replaced by other applications developed by developers, this is different from other mobile phone operating systems that are solidified in the system software, more flexible and
Sexual.

2)Application Framework Layer

The application framework layer is the basis for Android development. Many core applications use this layer to implement their core functions. This layer simplifies Component reuse, developers can directly use the components they provide for Rapid Application Development, or achieve personalized expansion through inheritance.

A) Activity Manager (activity Manager)

Manage the lifecycle of each application and the usual navigation rollback function

B) Window Manager)

Manage all window programs

C) content provider (content provider)

Allows different applications to access or share data.

D) view system (view system)

Build basic components of applications

E) icationicationmanager (Announcement Manager)

This allows the application to display custom prompts in the status bar.

F) Package Manager (Package Manager)

Program Management in the Android system

G) telephonymanager)

Manage all mobile device functions

H) Resource Manager (Resource Manager)

Provides various non-code resources used by applications, such as localized strings, images, layout files, and color files.

I) locationmanager (Location Manager)

Provide location service

J) XMPP Service (XMPP Service)

Googletalk Service

3)System Runtime Library Layer

It can be seen that the system Runtime Library layer can be divided into two parts: the system library and the android runtime, which are described as follows:

A) System Library

The system library is the support of the application framework and an important link connecting the application framework layer and the Linux kernel layer. It is mainly divided into the following:

Surface Manager:

When executing multiple applications, you are responsible for managing the interaction between the display and access operations, and for displaying and merging 2D and 3D drawings.

Media framework:

Multi-media library, based on packetvideo opencore; supports multiple common audio and video formats for recording and playback. The encoding formats include MPEG4, MP3, H.264, AAC, and arm.

SQLite:

Small Relational Database Engine

OpenGL | ES:

3D drawing function library based on opengles 1.0api Standard

FreeType:

Provide the plotting and display of dot matrix words and vector words

WebKit:

A set of web browser software Engines

SGL:

Underlying 2D graphic rendering engine

SSL:

Handshaking during communication on andorid

Libc:

The standard C system function library inherited from BSD, which is specially tailored for Embedded Linux-based devices

B) Android Runtime

Android applications are written in Java and executed during Android runtime. The runtime is the core library and the Dalvik virtual machine.

Core Library

The core Library provides the majority of Java language APIs and also includes some core Android APIs, such as Android. OS, android.net, and Android. Media.

Dalvik Virtual Machine

The android program is different from the J2EE program. Each Android Application has a proprietary process. Instead of running multiple programs in one virtual machine, each android program has a dalivik Virtual Machine instance, and run the command in the instance. Dalvik virtual machine is a register-based Java virtual machine, instead of a traditional stack-based virtual machine, and optimizes memory resource usage.
And supports multiple virtual machines. It should be noted that, unlike j2-android, the android program does not execute the compiled bytecode in the virtual machine, but converts the Java bytecode to the DEX format intermediate code through the conversion tool dx.

4)Linux Kernel Layer

Android is based on the linux2.6 kernel. Its core system services, such as security, memory management, process management, network protocols, and driver models, depend on the Linux kernel.

5) special apps

In the figure, some apps Based on the Dalvik Virtual Machine look like a part of Android, which are actually provided by Google, including dialer, contact, calendar AR, Gmail, and chat. Most of them are open-source and reusable. There are only a few exceptions, such as Google Maps and Android Market.

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.