Android System Introduction and framework (RPM)

Source: Internet
Author: User
Tags acer

What is Andriod?

Android is a Google development of an open source mobile os,android Chinese name by domestic users commonly known as "Android." The Android operating system is based on the Linux kernel design, using Google's own Dalvik Java virtual machine. The Android operating system has become the world's largest smartphone operating system.

1), openness

Android is fully open source, and the platform's user interface and applications from the underlying operating system to the upper layer do not have any exclusive rights barriers that hinder industry innovation. At the same time, the biggest benefit of open source is that the Android platform will have a growing team of developers, and as users and applications become richer, will inevitably make Android this brand-new platform to 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 smartphones or tablets based on the Android operating system.

Symbian Camp

There are currently only Nokia support, mainly N-series, E-Series and X-series phones.

iOS Camp

Only one apple support, mainly iphone and ipad.

webOS Camp

Only a RIM BlackBerry company supported

Android-like camp also has Windows Phone 7, but because WP7 is not open source system Many manufacturers do not have the opportunity to participate, only a few handset manufacturers support, and no corresponding tablet operating system, Android123 as a senior mobile developers, through the SDK comparison , Windows Phone 7 and Android have a big gap from the current Microsoft strategy and the closed API can be said to be hard to contend with Android.

3), Dalvik virtual machine

The Dalvik virtual machine is a Java VM developed by Google that optimizes files relative to the sun VM, such as merging multiple class files into a single Dex file, which is primarily developed by the Java language. But Google provides a system-level Java API that is very different from the Sun J2ME Java VMS supported by non-smartphones, and we can see that Android software can support the bottom-up applications such as call-to-firewall display attribution, which are Windows Phone 7 and What the iphone doesn't have.

4), Diversification

Currently Android system in addition to the use of smartphones, as well as tablet computers and smart TVs, Motorola, Samsung, LG, HTC, Acer, ASUS and other companies have launched a tablet computer, while the domestic Skyworth, TCL and other manufacturers have launched the Android Smart TV, Eventually there will be more smart home appliances, set-top boxes, in-vehicle electronic devices appear.

5), no boundaries between applications

Android breaks the boundaries between applications, and developers can connect their own programs with local contacts, calendars, location information, and so on. In addition, applications can self-assert that their functionality can be used by other applications.

6), tightly combined with Google Apps

Google, the world's largest online search service provider, has been penetrating into people's daily lives for the past 10 years. People are no longer just satisfied with the use of computer terminals to enjoy such as Gamil, Google Maps, online translation and other services, PC to mobile terminal extension has become an inevitable trend. and the seamless integration of Android and Google services, you can fully meet the wishes of people.

Second, the Android framework

It can be seen that the Android system architecture is four-tier structure, from the upper layer to the lower level are the application layer, the application framework layer, the System runtime layer and the Linux kernel layers, respectively, described as follows:

1) Application layer

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

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 (activity Manager)

Manage individual application lifecycles and common navigation fallback capabilities

b) Window Manager (window manager)

Manage all the Windows programs

c) Content Provider (content provider)

Enables access to or sharing of data between different applications

d) View system (view systems)

Building the basic components of an application

e) Notificationmanager (Notification Manager)

Enables applications to display custom prompts in the status bar

F) Package Manager (bundle manager)

Program Management in Android system

g) Telephonymanager (telephone 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) Locationmanager (location manager)

Provide location services

j) XMPP Service (XMPP services)

Provide Googletalk service

3) System Runtime Library layer

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:

Surface Manager:

When executing multiple applications, you are responsible for managing the interaction between the display and access operations, as well as the 2D drawing and 3D drawing for display compositing.

Media Framework:

Multimedia library, based on PacketVideo Opencore, supports a variety of commonly used audio, video format recording and playback, the encoding format includes MPEG4, MP3, H, AAC, ARM.

Sqlite:

A small relational database engine

opengl| Es:

3D drawing function Library implemented according to the Opengles 1.0API standard

FreeType:

Provide the description and display of dot matrix and vector word

Webkit:

A set of web browser software engines

SGL:

The underlying 2D graphics Rendering engine

Ssl:

Handshake during communication on Andorid

LIBC:

Standard C system function library from BSD inheritance, specifically tailored for embedded Linux-based devices

b) Android Runtime

Android applications are written in the Java language, and the program executes in the Android runtime, which runs at the core library and the Dalvik virtual machine in two parts.

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.

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 an instance of the Dalivik 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

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.

5) Special Apps

Some of the Dalvik virtual machine-based apps look like part of Android and are actually provided by Google, including dialer, contact, Calendar, Gmail, and chat. Most of them are open source and reusable. There are only a few exceptions, such as Google Maps and Android Market.

Transfer from: Link

Android System Introduction and framework (RPM)

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.