In recent years, Android has become popular, many projects are beginning to involve this part of the content, so learning Android has become very meaningful.
Learn what
Learn what Android should learn and many people have different insights. General programmers may just learn about Android UI controls and Android API usage. Advanced programmers might look at how Android's framework and Android are implemented. In relation to both, top programmers will have a deep understanding of the architecture and design ideas of Android and transform these architectures and design ideas into other areas of application. What would you do?
Android Hierarchical Architecture
Now that you're learning Android, start with the most attractive architecture and design ideas. First let's take a look at the Android architecture diagram as follows:
From the above figure, we can see that this Android architecture from top to bottom is divided into four tiers, namely the application layer, the application framework layer, the System runtime layer, and the Linux kernel layer.
Application Layer
The application layer primarily includes applications that can be easily understood as a variety of software and applications that we can see on mobile devices. These software and applications can be replaced and updated by other applications developed by the program developer, which is more flexible and personalized than the early-curing mobile software built into the system.
Application Framework Layer
The application framework layer is primarily for Android app developers, which provides many reusable components for Android developers to develop applications, and it also allows developers to replace these builds. With this layer, developers can develop rich applications, and developers can develop applications that use features already developed by other applications.
system Operating Layer
As shown, the system run layer can be divided into two parts: one is the Lib library provided by Android, and the other part is the Android runtime.
The so-called Lib library, in fact, is the support of the application framework layer, all of the functions implemented are provided externally through the application framework layer, and the Linux kernel and application framework layer are connected.
The Android runtime is similar to the Java runtime mechanism, and can be divided into the API Core library and a JVM-like virtual machine dalvk. This section can refer to the JVM for understanding and learning, which is not discussed here.
Linux kernel layer
Android is essentially a package that is built on top of Linux. By using Linux kernel as the abstraction layer between hardware and software, and it provides the features of security, memory management, process management, network stack, drive model and other services, Andorid finally realizes its most basic core architecture and design.
From the above analysis, we can clearly realize that the core of Android design is the layering. But how to layer this is what we want to focus on, so, learning Android is not to make an application, but to learn from Android to analyze its architecture, learn, improve, apply and create value.
What you learn ultimately is not what you learn, but what you want to learn, not what you do, but what you want to do.