前言

下面是一张Android系统架构经典图示意图。大致分为5层,即Linux内核层,硬件抽象层、库和运行时,Framework层,和应用层。Android系统架构鼓励系统组件重用,共享组件间数据,并定义组件间访问权限控制。 

看图说话:

Android系统架构概述_第1张图片

可以看到android给出的经典架构图大概可以把android分为5层,下面分别介绍:

1、Linux 

Linux内核层,android最底层最核心的部分,当我们打开手机setting,选择about phone选项,这一选项显示的内核版本就是我们所用的Linux内核版本。Linux层包含了android系统的核心服务,包括硬件驱动,进程管理,安全系统等。

2、HAL

硬件抽象层,它主要是为了移动邻域中标准不统一的的硬件驱动定义标准接口,屏蔽隔离掉Linux内核,避免android过分依赖Linux,HAL包含多个库模块,其中每个模块都为特定类型的硬件组件实现一组接口,比如音频/蓝牙模块。

3、AndroidRuntime与Standard libraries

3.1、AndroidRuntime中的Dalvik和ART

每个应用都在其自己的进程中运行,都有自己的虚拟机实例。在android4.4之前,代码的运行都要通过Dalvik,Dalvik包含一整套的android运行环境虚拟机,每个app都会分配Dalvik虚拟机来保证相互之间不受干扰,并保持独立,它的特点是运行时编译。在android4.4之后引入了ART机制,ART采用的是安装时就进行编译,以后运行时就不用编译,而在android5.X开始,Dalivik虚拟机被彻底抛弃,ART模式全面取代了Dalvik。因此android的app流畅度有很大改善,而在android7.0后还引入了混合编译模式(JIT + AOT),保证java运行效率的同时,安装app的速度大幅度提升。

3.2、Standard libraries

如图包含了android中的一些标准库。所谓标准,就是开发者在开源环境中可以使用的开发库。

Android系统架构概述_第2张图片

4、Framework

如图包含了android framework的重点。这里是我们android应用开发者重点关注的地方,我们也会经常用到里面的服务与组件。

Android系统架构概述_第3张图片

 

 

5、Application

这个层面就是用户在手机桌面可以看到的app应用。

Android系统架构概述_第4张图片 图一

 

Android系统架构概述_第5张图片 图二

 

图一和图二分别表示使用NDK和java开发的app主要构成,它们共同的特点都有Android Manifest文件,Dalvik Classes,Resource Bundle这几个东西,这些就是我们解压apk后的文件,与android最直接接触的就是SDK。

结语

Android系统架构说简单点可以用几张图表示,但却可以写几本书,所以掌握也并非一朝一夕之功,我们要有大概的认识,在以后的深入学习,就可以慢慢理解它的运行原理。

更多相关文章

  1. Android系统的内存管理研究
  2. Android系统各个版本 最新市场份额变换
  3. Android系统架构5层
  4. 招聘android架构师(北京)
  5. Android消息处理系统——Looper、Handler、Thread
  6. Android群英传第一章笔记·Android体系与系统架构
  7. 分析Android 根文件系统启动过程(init守护进程分析)
  8. 通过广播Intent控制Android系统自带的音乐播放器
  9. Android系统升级全流程

随机推荐

  1. LNMP(Linux+Nginx+Mysql+PHP)环境下安装yaf
  2. linux常用的命令
  3. Linux CentOS 配置Tomcat环境
  4. Linux 上samba服务的配置
  5. Linux基础知识总结
  6. linux环境下写C++操作mysql(二)
  7. Linux生成随机字符串
  8. 在VNC远程桌面环境Xfce4中Tab键失效的解
  9. Linux防火墙配置
  10. Shell脚本编写简明教程