Same Android, different learning

Source: Internet
Author: User

In the past few years, Android has gradually become popular, and many projects have begun to involve this part of content. Therefore, learning Android has become quite meaningful.

What to learn

Many people have different opinions on what Android should learn. Generally, programmers may only learn Android UI controls and Android API usage. Senior programmers may study the implementation principles of the Android FrameWork and Android. Compared with the two, top programmers will have a deep understanding of the hierarchical architecture and design ideas of Android, transform these architectures and design ideas, and apply them to other aspects after optimization. What would you do?

Android hierarchy

To learn about Android, we must start with the most attractive architecture and design philosophy. First, let's take a look at the Android architecture design diagram, as shown below:


From the figure above, we can see that the Android architecture is divided into four layers: application layer, application framework layer, system Runtime Library layer, and Linux kernel layer.

Application Layer

The Application Layer mainly includes some applications, which can be simply understood as various software and applications that we can see on mobile devices. These software and applications can be replaced and updated by other applications developed by program developers, which is more flexible and personalized than the mobile software that is fixed in the system at an early stage.

Application Framework Layer

The application framework layer mainly targets Android Application developers. It provides many reusable components for Android Developers to develop applications, and allows developers to replace these components. Through this layer, developers can develop a wide range of applications. applications developed by developers can use functions developed by other applications.

System running Layer

As shown in, the system runtime layer can be divided into two parts: one is the Lib library provided by Android, and the other is the runtime of Android.
The so-called Lib library is actually the support for the application framework layer. All the functions it implements are provided externally through the application framework layer, and the Linux kernel and the application framework layer are connected.
Android Runtime is similar to Java runtime mechanism, which can be divided into API core library and a virtual machine like JVM Dalvk. This part can be understood and learned by referring to JVM.

Linux Kernel Layer

Android is essentially an encapsulation Based on Linux. By using Linux Kernel as the abstraction layer between hardware and software, and providing security, memory management, process management, network stack, driver model, and other features for the upper layer, andorid ultimately implements its most basic core architecture and design.

Through the above analysis, we can clearly understand that the core of Android design is layering. However, we need to pay attention to how to layer it. Therefore, learning Android is not about making an application, but about analyzing its architecture by learning Android, learning from, improving, and creating value.


What you ultimately want to learn is not what you want to learn, but what you want to do.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.