The architecture diagram is as follows:
1) English version:
2) Chinese version:
The graph shows that the Android system architecture is divided into Linux kernel layer, middleware, application framework layer and application layer from bottom to top.
1.Linux kernel
Responsible for the hardware driver, network, power, system security, memory management and other functions.
2. Middleware: Core library and runtime (libraries & Android Runtime)
1) Core Library
That is, the C + + function library section, most of which are open source function libraries, such as WebKit (engine), which is responsible for the operation of the Android Web browser, such as the standard C function library libc, openssl, SQLite, of course, also includes support game development 2DSGL and 3dopengles, in Multimedia has mediaframework framework to support a variety of audio-visual and graphics file playback and display.
2) Run-time
Unlike Java virtual machines, every Android application runs in its own process and has a Dalvik virtual machine of its own, which allows the system to be optimized at runtime and significantly reduces the impact between programs. Instead of running Java bytecode, the Dalvik virtual machine runs its own bytecode. The bytecode responsible for interpreting and executing the generated Dalvik format.
3. Application Framework Layer
Java application developers are primarily using this layer of packaged APIs for rapid development. The main layers are:
1) Rich and extensible view (views), can be used to build applications, it includes list (lists), grid (grids), TextBox (text boxes), button (buttons), embeddable Web browser.
2) content providers (Providers) enable applications to access data from another application, such as a contact database, or share their own data.
3) Resource Manager (Resource Manager) provides access to non-code resources, such as local strings, graphics, and layout files (layoutfiles).
4) the Notification Manager (Notification Manager) enables applications to display customized prompts in the status bar.
5) The Activity manager is used to manage the application lifecycle and provide common navigation fallback functionality.
4. Application Layer
Android system will include some application packages including email client, SMS short message program, calendar, map, browser, contact management program and so on. Android applications use the framework's APIs and run under the framework, and all applications are written in the Java language.
Summarize:
The lower layer serves the upper layer, the upper layer needs the lower layer support, calls the lower level service, this kind of strict stratification way brings the extremely stability, the flexibility and the expansibility, causes the different layers of developers to concentrate on the specific layer development according to the specification.
Simple description of Android system architecture