因为是第一章,我们从感性认识出发,不讲解太深的理论内容,遇到的代码介绍不懂也没关系,现在只是从宏观的角度出发看个大概,具体的专业内容会在后面各个模块的具体讲解中详细介绍。免得刚开始看就想睡觉。
我们都知道Android系统实质上是一个基于Linux内核的系统。它封装了Linux的内核调用,封装了Java虚拟机,提供了基本的硬件驱动程序和一套界面交互程序,从而形成今天的安卓系统。我们的AndroidFramework就是安卓系统对接完硬件和内核之后,隐藏大部分代码,而有限的暴露给我们开发者调用的一套API。
我们从开启安卓手机开始,手机上就运行着各种服务,包括ActivityManagerService、PackageManagerService、AppManagerService和手机内置的一些系统app服务,比如各种厂商自己的服务。而我们自己开发的App就生存在这些服务之中,由这些服务启动、管理、并且依赖这些服务来展示自己的内容。
形象一点来说就是,各种系统服务就像是电影院,而我们开发的app像是电影磁盘。电影院提供各种基础设施,来让这个电影磁盘播放出精彩的电影内容。这就是我们开发的app和Framework之间的关系。
知道这一层关系之后,我们下一节就从startActivity开始,讲解我们的app是怎么和系统交互的。