Android core analysis 5-Basic Space Division

Source: Internet
Author: User

From: http://blog.csdn.net/maxleng/article/details/5490713

Basic Space Division

Google gave us a system architecture diagram, in which we can see the structure of the android framework.

 

 

 

 

 

 

You can see: Android applications, application framework, Dalvik virtual machine, and Linux. To generalize Android, we can divide the system into two parts:

 

 

 

However, for the convenience of our research, we should first look at the most essential three layers: Android, Dalvik virtual machine in the middle, and Linux.

 

 

 

Although the last two layers are included in Android, I still separated the virtual machines this time to facilitate understanding or start from pragmatism, because I am studying Android mobile phone systems, we are not doing too much research on virtual machines.

E: Pre; "> we can see from the above that the system is statically divided into three layers. However, this is not the logic of dynamic operation. Therefore, Space Division is an interesting concept. From the operating system perspective, Android is a collection of Linux applications. From the Linux perspective, we can see the Space Division: process space and kernel space. Android applications correspond to processes in Linux.

 

Andoid contains a Java virtual machine that runs on Linux. Android is built on JVM. From the android dynamic running logic, we need to divide Android into android space and non-android space. In the andoid system, we are faced with the concept space of andoid, instead of the Linux process. In the concept space of andoid, we have no concept of lliux process, but service, proxy, activity, provider, etc.

 

 

 

As for Virtual Machine JVM, we only need to know that the JVM is Dalvik VM (Virtual Machine). This is a Java virtual machine designed for embedded devices, it is a Java Virtual Machine with its own code-byte and format that can run efficiently on embedded devices.

 

For further research, we still need to involve the JNI native section. In this classification, I divide JVM into JVM space and C ++ space.

 

 

 

Android app developers work in the Concept Space of features outside Android, which does not have a sense of Linux. The concepts of features outside Android include activity, provider, interface, events, provider, service, etc. As for the division of JVM space and C ++ space, we proposed to study the core description of Android. During Android system development, we often need to modify it to the native part of JNI. I will elaborate on this part in more detail later.

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.