Android a word means "robot", meaning is also Google on November 5, 2007 based on Linux platform announced open-source mobile phone operating system's name, the platform from the operating system, middleware, user interface and application software component, claims to be the first to make real mobile terminal open and integrity mobile software. At present, the newest version for Android Gingerbread and Android 3.0 2.4 Honeycomb.
System introduction
Android is based on the Linux kernel operating system, is Google company in November 5, 2007 mobile operating system, released early and be named "Android" company development, Google in 2005 on acquisitions "Android. Inc," Google continues to Android system development operation, it USES the software stack of layer (software, and name of the laminated) in software architecture, mainly divides into three parts. To provide basic bottom Linux kernel function; only Other applications by companies software is developed by written in Java, part program. Early 2011 data show that only officially launched three years of operating system Android has outstripped seek hegemony years of both saiban system, adopting Android system mainly manufacturers including American MOTOROLA (MOTOROLA), South Korea's SAMSUNG (on), Britain Sony Ericsson (Sony Ericsson) etc, make in the world's most popular smartphone platform, Android system not only applied in smart phones, also in the tablet computer rapid market expansion.
System architecture
applications
Android to Java for programming language, make interface to function, all have endlessly change, including the equivalent MIDlet safe, a safe J2ME scale-up) responsible for creating such (well), a window (foreground is safe in the activities of (are) mode, background operation of the procedure called Service. By ServiceConnection between connect, achieve the plural and AIDL program function at the same time the effect. If the operation of the whole picture by other safe safe, the safe and replaced by stop (stopped), even by the system to eliminate (know).
View equal to the Displayable, program personnel J2ME through with "XML layout of View" the files will UI placed in Windows, Android 1.5 version can use View Widgets, create the so-called Widget actually a kind of View only, so can use XML to design layout, the Android phone HTC Hero that contains a lot of Widget. As for ViewGroup is the basis of various layout abstract class abstraction (ViewGroup scale-up), still can have a ViewGroup within. View constructor don't need to call, but safe Displayable is a must, in the safe, to findViewById () by from the XML achieved in View of the View, Android display largely from XML read. View and events (to) are closely related, both between through on voicemail speak together, each View can register a on voicemail speak to, such as when View to handle user touch (touch) event, will to the Android framework. OnClickListener registered View. Another BitMap equivalent of the J2ME add.
Intermediary software
The operating system and application, and the Bridges will be divided into two levels: function layer (more emphases) and Virtual Machine (Machine) order. Bionic is libc version of Android improvement. Android also contains a Webkit, so-called Webkit browser Safari is the engine behind Apple. Surface flinger is just 2D or 3D content displayed on the screen. Android use tools chain (Toolchain) for Google homemade Bionic Libc.
Android OpenCORE as foundation by multimedia framework. OpenCORE PVPlayer can be divided into seven big: PVAuthor, Codec, PacketVideo, PVMF), in Framework (Compatibility automatically notified to OSCL), more emphases (, OpenMAX.
Android use for core graphics engine skia OpenGL/ES, collocation. Cairo function quite skia with Linux, but compared with Linux Cairo, skia function was just prototype. In 2005, Skia company was Google acquisition in early 2007, Skia GL source was publicly, Skia is Google Chrome now the graphics engine.
Android multimedia database using SQLite database system. Database and Shared database and into private database. Users can ContentResolver class (on) by Shared database obtained.
In the Android.diamond and adopted the special realization Java Virtual Machine (the Dalvik insgroupsto Dalvik Machine). Dalvik virtual machine is a kind of "general-purpose registers type" (receive the Java virtual machine Based), variable triggered registers are deposited in the virtual machine instructions in relative decrease.
Dalvik virtual machine can have multiple instance (carry out), every Android applications use a Dalvik virtual machine since genera of the running, let the system running programs can achieve optimization. Dalvik virtual machine is not running Java Bytecode (Bytecode), but running a called. Dex format file.
Hardware Abstraction Layer (smoke like Hardware Layer)
Android's HAL (hardware smoked like layer) is able to provide closed source code form hardware driver module. HAL are aimed at spurring Android framework be separated with Linux Numbers, let Android not overly dependent on Linux Numbers to reach the concept of Numbers, also let independent in the development of framework Android can not consider driver realization on the premise of development.
HAL stub is an agent (the concept of existent) stub is *. So, exists in the form of gears. Stub provide "operation to HAL" operations), and functions (runtime by Android has the Stub operations to HAL callback these operating functions, again. HAL contains many stub (agent). Runtime just explain "type", namely, can obtain module ID operation function.
Programming language
Android is running on Linux Numbers, but not on the GNU/Linux. Because in general the GNU/Linux support functions, Android in Cairo without support, including most Alsa, FFmpeg and X11, Pango and Glibc, GTK, etc have been removed. Android and replaced with bionic Skia replace Cairo, Glibc opencore replaced by FFmpeg again, etc. Android in order to achieve commercial applications by the GNU GPL, must remove warrants constrained parts, such as Android will driver moved to userspace, make Linux is completely separate Numbers with Linux. Bionic/libc/Numbers/not standard Numbers this files. Android is the tools of Numbers this by the Numbers generated by this Linux, it is in order to keep constant, data structure and macros.
Current Android Linux Numbers include safe (Security) control, Memory Management (Management), program Management with Process Management), Network (Stack), a Stack (Driver Model (Model is) etc. Download Android source, first is to install its building tool Repo to initialize the source code. Repo is Android to aid the Git work a tool.
No comments:
Post a Comment