1.1 Android 简介

Google 为 Android 建立了一个完整的生态系统,4G 兴起之后,移动端的火热发展也正是基于安卓和 IOS 等移动平台。

1.1.1 安卓系统架构

分为 4 层架构:Linux 内核层、系统运行库层、应用框架层、应用层

  1. Linux 内核层
  • 安卓系统是基于 Linux 内核
  • 这层为安卓设备系统底层驱动。如:显示、音频、照相、蓝牙、WI-FI、电源驱动等。
  1. 系统运行库层
  • 这一层通过 C/C++,提供主要的特性支持。如:SQLite 数据库支持、 OpenGL|ES 库 3D 绘图支持、 Webkit 库浏览器内核支持
  • 相较于 Java 虚拟机,ART 是专门为移动设备定制的,针对手机内存、CPU 性能有限做了优化
  1. 应用框架层
  • 提供构件应用程序所需的 API。
  • Android 自带应用就是用这些 API 完成的。
  1. 应用层
  • 安装在手机上的应用程序

1.1.2 历史版本了解

由于 5.0 以上版本已经占了 85% 以上的时常份额,本文就只列出 5.0 以上的版本特性

5.0 Lollipop 棒棒糖

  • 2014.10.15
  • API:21(5.0)、22(5.1)
  • 从 Dalvik 虚拟机改用 ART 运行环境,大大提升了应用运行速度
  • 提出 Material Design 设计风格,统一设计语言。「PS:虽然连谷歌自己都有些没做到。dark mode」

6.0 Marshmallow 棉花糖

  • 2015.5.28
  • API:23
  • 运行时权限。用户可直接管理应用权限
  • 低功耗模式、应用待机模式
  • 取消支持 Apache HTTP 客户端,改用 HttpURLConnection 类。
  • 「此 API 效率更高,因为它可以通过透明压缩和响应缓存减少网络使用,并可最大限度降低耗电量。」
  • 从 OpenSSL 库转向使用 BoringSSL 库
  • 硬件标识符访问权
  • 对软件体验和运行性能上大幅度优化

7.0 Nougat 牛轧糖

  • 2016.8.22
  • API:24(7.0)、25(7.1)

8.0 Oreo 奥利奥

  • 2017.8.21
  • API:26(8.0)、27(8.1)
  • 多窗口支持(画中画)
  • 通知增强(直接回复、自定义消息样式、捆绑通知等)
  • 快速安装应用路径、随时随地低功耗模式、Project Svelte 后台优化,等。

9.0 Pie 派

  • 2017.8.21
  • API:28
  • 全面屏支持
  • 新的手势导航栏
  • 自适应功能(电量、亮度)
  • 神经网络
  • 应用建议
  • 应用定时器(限制使用时间)、应用使用时间
  • 辅助功能菜单
  • 手动旋转
  • 安全与隐私特性
  • 暗色模式
  • Material Design 2.0

10.0 安卓10系统

  • 2019.9.3
  • API:29+
  • 取消甜品命名方式(允悲)
  • 新的手势导航
  • 对折叠设备的原生支持
  • 支持 5G
  • SharingShortcuts
  • 应用程序将无法访问不可重置的设备 ID
  • 自动实时字幕 LiveCaption
  • 黑暗模式

11.0 安卓11

  • 2020.9.9
  • API:
  • 隐私保护(一次性权限、自动重置不常用权限)
  • 控制中心(智能设备间交互)
  • 优化非常规屏(cutout API, 挖孔、曲面、折叠等的 APP 自适应)
  • 优化 5G 支持

···

1.1.3 应用开发特色

1.四大组件

分别是 Activity、Service、BroadcastReceiver、ContentProvider。

  • Activity。门面,负责交互,手机上所有能看到的东西都是放在此「有点类似前端
  • Service。后台服务。
  • BroadcastReceiver。广播消息接收。
  • ContentProvider。应用程序之间的数据共享。如:「读取系统通讯录的联系人」

2.丰富的系统控件

自带的控件能帮助我们轻松编写出漂亮的界面,当然我们也可以使用自定义的控件

3.SQLite数据库

轻量级、运算速度极快的嵌入式关系型数据库。

  • 支持 SQL 语法
  • 可以通过 API 操作,让存储读取变得方便

4.强大的多媒体

丰富的多媒体服务,如:音乐、视频、录音、拍照等。