一、Android系统架构

问题:手画一下Android系统架构图,描述一下各个层次的作用?

一、Android系统架构_第1张图片
android-stack_2x.png

这张Android平台架构图是从Android的官网抓下来的。

面试的时候,如果能很熟练地给这张图画出来,并且逻辑清晰地讲清楚这张图里每层的作用,那这个问题就算过关了。

当然,你不用画这么细,每一层里面包含那么多模块没必要都画出来,画两个意思意思就行了,但是思路一定要清晰,就好像这个系统是你设计的一样。

好了,废话不多说,我们接下来好好说说这张图,

  • Application层,也就是应用层,不仅包括通话短信联系人这种系统级的应用,还包括用户自己安装的一些第三方应用
  • Framework层,这一层大部分用Java写的,包括系统服务和四大组件
  • Library层,这一层大部分都是C/C++写的,主要是虚拟机,还有一些三方库比如SQLite, WebKit
  • HAL层,硬件抽象层,
  • Linux内核层,包含Linux内核和一些驱动,比如说蓝牙驱动,Camera驱动等等,这个Binder驱动也是在这一层

如果记不住的话,我们也可以这么分,应用层,框架层,操作系统层,框架层分java层和c++层。

我们要开发应用,首先你要提供API吧,然后我们基于这个API来做开发。但是有没有想过,API分为主动型和被动型,

Java层框架,四个嫡系的基类,
Activity,UI交互
Service, 幕后服务
Receiver, 接收和发送事件
Provider,共享数据

你可能感兴趣的:(一、Android系统架构)