Android系统知识全览(1)---Android系统架构

2018-08-17  本文已影响52人  善笃有余劫

[TOC]

Android系统

Android是谷歌开源的移动操作系统,到目前为止已经发行到9.0版本。并占据了移动系统的半壁江山。

Android的系统架构

Android系统架构分为四层,从上到下依次是应用层(system app)应用框架层(Framework)系统运行库层Linux内核层

image

应用层

系统内置的应用程序以及非系统级的应用程序都是属于应用层。负责与用户进行直接交互,通常都是用Java进行开发的。

应用框架层

提供构建APP使用到的各种API,开发者可以使用这些API来开发应用。使用java语言编写,也可以称为JavaFramework

系统运行支持库层

通过C/C++库来为Android提供主要的特性支持,比如Sqlite提供数据库支持,OpenGL|ES提供3D绘图的支持,webkit提供浏览器内核支持。

同时还提供了Android运行库,提供一些核心库,能够允许开发者使用Java语言编写Android应用。

包含了Dalvik虚拟机(5.0之后改为了ART运行环境),使每个Android程序运行在单独的进程。Dalvik为Android专门定制,比java虚拟机更适合移动设备。

Liunx内核层

Android系统基于liunx内核,这里提供了底层的驱动,比如显示驱动,音频驱动,相机驱动,蓝牙驱动,电池管理,Wifi驱动等等。

Dalvik虚拟机和ART运行环境

什么是Dalvik?

什么是ART?

Android Runtime

ART 的机制与 Dalvik 不同。在Dalvik下,应用每次运行的时候,字节码都需要通过即时编译器(just in time ,JIT)转换为机器码,这会拖慢应用的运行效率,而在ART 环境中,应用在第一次安装的时候,字节码就会预先编译成机器码,使其成为真正的本地应用。这个过程叫做预编译(AOT,Ahead-Of-Time)。这样的话,应用的启动(首次)和执行都会变得更加快速。

优点:

  1. 系统性能的显著提升。
  2. 应用启动更快、运行更快、体验更流畅、触感反馈更及时。
  3. 更长的电池续航能力。
  4. 支持更低的硬件。

缺点:

  1. 机器码占用的存储空间更大,字节码变为机器码之后,可能会增加10%-20%(不过在应用包中,可执行的代码常常只是一部分。比如最新的 Google+ APK 是 28.3 MB,但是代码只有 6.9 MB。)
  2. 应用的安装时间会变长。

Anroid已发布的版本以及各个版本的特点

截止目前Android以及发布到Android P版本,也就是Android9.0。由于9.0在国内基本没上,现在只需要了解到8.0即可。同样的,一般我们只会要求兼容到4.4以上。

下面文章仔细列出了所有变化:点击相关原文

简略的总结主要核心的变化:

Android P:减少使用非 SDK 接口,提升系统稳定性

Android 8.0 :

Android 7.0 :

Android 6.0

Android 5.0

相关面试题以及答案

上一篇 下一篇

猜你喜欢

热点阅读