A Android features
Application framework support for reuse and replacement of components
Dalvik virtual machines optimized for mobile devices
An integrated browser based on the open source WebKit engine
Optimized graphics library including customized 2D graphics library, 3D graphics library based on OpenGL ES 1.0
SQLite as a structured data store
Multimedia support includes common audio, video and still image formats (e.g. MPEG4, H. MP3, AAC, AMR, JPG, PNG, GIF)
GSM telephony technology (hardware dependent)
bluetooth® bluetooth, EDGE, 3G, and WiFi (hardware dependent)
Camera, GPS, compass, and accelerometer (accelerometer) (Hardware dependent)
Rich development environment including device Simulator, debugging tool, memory and performance analysis chart, and Eclipse integrated development environment Plug-in
Two Android's system architecture
650) this.width=650; "src=" http://pic002.cnblogs.com/images/2012/402670/2012050217595434.jpg "style=" border:0px; " />
1. Application
650) this.width=650; "src=" http://pic002.cnblogs.com/images/2012/402670/2012050218005344.jpg "style=" border:0px; " />
Core applications, such as email clients, SMS short message programs, calendars, maps, browsers, contact management programs, are released with the Android system. (written in JAVA)
2. Application Framework
650) this.width=650; "src=" http://pic002.cnblogs.com/images/2012/402670/2012050218011122.jpg "style=" border:0px; " />
Developers can use it to develop applications, including:
Rich and extensible view (views): Can be used to build applications, which include lists (lists), grids (grids), TextBox (text boxes), buttons (buttons), and even web browsers that can be embedded.
Content Providers: Enables applications to access data from another application, such as a contact database, or share their own data
Resource Manager (Resource Manager): Provides access to non-code resources, such as local strings, graphics, layout files (layoutfiles)
Notification Manager (Notification Manager): Enables applications to display customized prompts in the status bar
Activity Manager: Used to manage the application lifecycle and provide commonly used navigation fallback features
Class Library
650) this.width=650; "src=" http://pic002.cnblogs.com/images/2012/402670/2012050218012365.jpg "style=" border:0px; " />
A number of C + + core libraries to facilitate developer application development.
System C Library (LIBC): specifically tailored for embedded Linux-based devices
Media Library: Supports a variety of commonly used audio, video format playback and recording, while supporting static image files. Encoding formats include MPEG4, H. MP3, AAC, AMR, JPG, PNG
Surfacemanager: Management of display subsystems with seamless integration of 2D and 3D layers for multiple applications
Webkit/libwebcore:web browsing engine, supports Android browser and an embeddable Web view
SGL: The underlying 2D graphics engine
3D libraries: 3D engine based on OpenGL ES 1.0 APIs
FreeType: Bitmap (bitmap) and vector (vectors) font display
SQLite: Lightweight relational database engine
4. Android Runtime Environment
650) this.width=650; "src=" http://pic002.cnblogs.com/images/2012/402670/2012050218015413.jpg "style=" border:0px; " />
Android Core Library: Provides most of the functionality of the Java library
Dalvik virtual machines: relies on some features of the Linux kernel, such as threading mechanisms and underlying memory management mechanisms. While virtual machines are register-based, the Dalvik operates in a concise, efficient byte code format that enables multiple applications to be executed in parallel with low-cost and no-application interference, and each Android application runs in its own process, with a separate Dalvik The virtual machine instance. The executable file in the Dalvik virtual machine is a. dex file that is optimized for small memory usage. All classes are compiled by the Java compiler, and then converted to. dex format by the "DX" tool in the SDK and executed by the virtual machine.
5. Linux Kernel
650) this.width=650; "src=" http://pic002.cnblogs.com/images/2012/402670/2012050218021259.jpg "style=" border:0px; " />
The Linux kernel acts as an abstraction layer between the hardware and the software stack. Android Core System Services: Security mechanisms, memory management, process management, networking, hardware drivers
Android Features and system architecture