美文网首页
Android系统知识全览(1)---Android系统架构

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

作者: 善笃有余劫 | 来源:发表于2018-08-17 17:23 被阅读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?

  • Dalvik是Google公司自己设计用于Android平台的虚拟机。
  • Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。
  • 它可以支持已转换为** .dex格式**的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。
  • Dalvik 经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik 应用作为一个独立的Linux 进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。
  • 很长时间以来,Dalvik虚拟机一直被用户指责为拖慢安卓系统运行速度不如IOS的根源。
  • 2014年6月25日,Android L 正式亮相于召开的谷歌I/O大会,Android L(5.0) 改动幅度较大,谷歌将直接删除Dalvik,代替它的是传闻已久的ART。

什么是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 :

  • 通知渠道细分操作 Notification Channels
  • 画中画模式 PIP
  • 自适应图标 Adaptive Icons
  • 固定快捷方式和小部件 — Pinning shortcuts
  • Background Execution Limits- 后台任务限制,包括服务和广播限制

Android 7.0 :

  • 在应用间文件共享权限控制
  • 多窗口支持
  • 通知栏快捷回复
  • 支持VR
  • 画中画
  • App快捷菜单

Android 6.0

  • 运行时请求权限
  • 取消支持 Apache HTTP 客户端
  • 支持文本选择

Android 5.0

  • Android Runtime (ART)默认运行平台设置
    通知
  • Material Design 样式
    • 声音和振动
    • 锁定屏幕可见性
    • 媒体播放
    • 浮动通知
  • 引入Material Design设计
  • RecyclerView组件以取代ListView
  • 支持Android NDK中的64位
  • 只能显示绑定到服务,取消隐藏绑定服务

相关面试题以及答案

相关文章

网友评论

      本文标题:Android系统知识全览(1)---Android系统架构

      本文链接:https://www.haomeiwen.com/subject/brttiftx.html