Android 核心分析 之五基本空间划分
16lz
2021-01-23
Google给了我们一张系统架构图,在这张图上我们可以看到Android的大体框架组成。
2012-6-21 17:28 上传 下载附件 (193.42 KB)
从上图可以看到:Android Applications,Application Framework,Dalvik Virtual Machine,Linux。如果将Android泛化,我们可以将系统划分成两部分:
2012-6-21 17:28 上传 下载附件 (1.52 KB)
2012-3-17 09:45 上传
下载附件 (1.52 KB)
2012-6-21 17:28 上传 下载附件 (2.25 KB) 虽然上两层都包含在Android中,但是为了理解的方便或者从实用主义出发,我还是将虚拟机这次给分开出来,因为我研究的对象是Android的手机系统相关部分,对于虚拟机我们不做太深入的研究。 e: pre;"> 从上面我们可以看到这个系统静态的划分成这样的三层。但是从动态运行逻辑上不是这样划分的,所以空间的划分是一个有趣的概念。我们从操作系统的角度看,Android就是一堆Linux应用的集合。从Linux角度看到的空间划分:进程空间和内核空间。从Android的应用对应着Linux的一个个进程。 2012-6-21 17:28 上传 下载附件 (6.24 KB)
Andoid中包含一个Java虚拟机,虚拟机是运行在Linux之上的,Android构建在JVM之上,从Android动态运行逻辑上我们需要将Android划分成Android空间和非Android空间。在Andoid系统中我们面对的是Andoid概念空间,而不是Linux进程了,在Andoid概念空间中已经没有了Lliux进程的概念,而是Service,proxy,Activity,provider等。
2012-6-21 17:28 上传 下载附件 (10.81 KB)
2012-3-17 09:45 上传
下载附件 (10.81 KB)
Android应用的开发者是工作在Android外特性概念空间的,这里没有了Linux的一点气息,Android构建的外特性空间概念包含了:Activity,Provider,Interface,Events,Provider,Service等。至于JVM空间和C++空间的划分是为了研究Android核心的描述而提出的,我们在做Android系统开发时,常常需要修改到JNI的Native部分。后面我将用较多的篇幅来深入阐述这个部分。
更多相关文章
- 浅入浅出 Android 安全:第三章 Android 本地用户空间层安全
- Android 虚拟机Dalvik、Android各种java包功能、Android相关文件
- Android设备预计将超微软
- Android ART虚拟机和Dalvik虚拟机区别
- Genymotion - 速度飞一般的Android虚拟机
- 微软之鉴:Google不会将Android与Chrome OS融合?
- Android虚拟机与Java虚拟机——两种虚拟机的比较
- 【Android】“存储”之普通文件存储(内部存储空间)