Android群英传学习笔记–Android体系与系统架构
Android系统架构
Android是一个移动操作系统,其可以从下至上分为四层:
1. Linux内核层
2. 函数库层
3. 应用程序框架层
4. 应用程序层
注:
1. Dalvik and ART
Dalvik包含了一整套Android运行环境虚拟机,且每个App都会分配Dalvik虚拟机来保证互相之间不受干扰,并保持独立。在运行时编译。
而Android 5.X版本开始,ART模式已经取代了Dalvik,ART采用的是安装时编译,以后运行都无需再进行编译。
就如同作者所举的例子:相当于买了一辆可折叠的自行车,Dalvik是自行车平时是折叠的,只有骑的时候才需要组装使用,而ART是买了辆组装好的自行车,装好之后就可以骑了。
关于各层的实际情况等到对Android有了深入了解之后再进行反思总结。
Android App组件架构
四大组件:
1. Activity
2. BroadCastReciever
3. ContentProvider
4. Service
这四大组件是进行协同合作的,并且这种协同性需要通过信使来完成,类似于OOP中的消息。
而应用运行时需要上下文对象,这是一种“语境”,即可以理解为当前对象在程序中的环境。
Android系统的上下文对象在Context中,Activity、Service、Application都继承了Context。因此Android应用程序会在创建上述三者时创建应用上下文Context。
Android系统源代码目录与系统目录
Android源代码目录中包含了Android系统所有的源代码,从底层驱动到上层应用,Android系统对所有文件都进行了详细的管理,源代码情况可以参见说明书网站:http://androidxref.com
Android是如何进行编译的呢?
IDE(集成开发环境)可以简化计算机遇开发者的交互。但是类似于自动化编译则需要引入Makefile机制。
Makefile文件在源文件的每一个模块之中,该机制可以按照一定的规则制定那些文件需要编译,以及以怎样的顺序进行编译,而且它完成的是自动化编译。