Android system architecture, the entire Android system is divided into 4 layers:
But why does the Android system have to adopt such a layered approach? Here I would like to introduce the development of application framework in our software field.
In the early days, the APIs used to develop the software were the APIs that called the system directly. If the system's API wants to change, then it will inevitably lead to the development of all software applications based on this system will be wasted, the cost is very high, so at that time, the operating system API will not be easily changed, the control of software execution all in the hands of developers, This also restricts the development of the operating system platform, making the platform's elasticity greatly reduced. :
In order to make the platform have good elasticity and control, the development of single-layer framework has appeared in the field of software application development. The advantage of a single-tier application framework is that the application and platform are separated by the base class within the framework to invoke subclasses within the a application, so that the framework has the power to execute the software and the framework directs the execution of the application.
Based on the framework software architecture described above, developers can develop small, independent frameworks based on this framework, which is a composite framework. For example, in a large framework to provide game framework, multimedia framework. The emergence of this composite framework greatly reduces the burden on application developers.
In the Android application framework layer and application layer are written in Java, although the Java language is simple and easy, but its execution efficiency is far less than C + +, in order to pursue simple, easy, efficient, in the current software industry, many platforms are double-layered framework mode, the establishment of Java and C + + Double-sided frame.
The above describes the application framework from the early framework of non-frame, single-layer model to the composite framework and the evolution of a double-layered framework, many systems are now using a double-layered framework, Android system is an example.
An analysis of the architecture of Android System (ii) Application framework Evolution