市场占比
Android 1.1 在 2009 年 2 月发布,然后就以直线上升的速度,迅速占领手机操作系统市场。如今 Android 已经成为和 iOS 有同等分量的手机操作系统,二者一同霸占了全球市场。下图是 2018 年 3 月份,全球知名研究公司 Gartner 公司给出的全球手机操作系统占比报告:

网络技术
Android 系统和 iOS 系统都是伴随着移动通讯革新的历史,顺势发展而来。而在 1G/2G 时代,诺基亚是全球手机市场的老大。我们经常听到的手机支持 xG 。其中 G 是 GPRS 的省略, 英文为 General Packet Radio Service ,翻译成汉语意思为通用分组无线服务技术。简单理解就是不同的网络传输技术。
网络向着速度越来越快的方向发展,这些都需要不同的技术和标准来实现。下图简要列举移动通讯发展中采用的技术历史:

从传输速度上面能看到,每一次的技术革新,网络速度都会大大提升。网上有一副图,形象的概括了不同技术下的网络速度差别。

Android 起源
Android 的发明人是 Andy Rubin。Andy Rubin 早年供职于苹果公司,算是一个机器发烧友,不仅能拿电焊机焊电路板,而且热爱编程,有乔布斯般的偏执。当年他为了开发 Android 系统,先花光了以前积累的百万财富,接着又把房子抵押出去,最后走投无路时,找到了 Google 的大当家佩奇。佩奇经过详细了解后,出资 5000 万美元买下了 Android 系统,并且继续让 Andy Rubin 负责 Android 系统的开发。Andy Rubin 不负众望,在苹果 4 问世之后的第 2 年,也就是 2009 年,推出了第一版 Android 系统。他本人也被称为安卓之父。
Android 每一个版本都有一个名字,全部和吃有关,或许 Google 里面的员工也都是吃货吧。下面是 Android 不同版本的名字:

Android 整体架构
Android 架构从上往下可以分为 5 层。最底层采用开源的 linux 内核,最上层是 Applications 。作为一名 Android 开发者,常用到的是顶层的Applications 。
Android 采用 java 语言。在运行在设备上是,首先需要虚拟机对 java 语言进行解释,编译。这也是 Android 手机在流畅度方面始终落后于 iOS 的原因。为了弥补缺陷,Google 对 JVM 进行了优化,推出了 Dalvik VM 技术。它可以让 java 编译过程由 java byte -> vm 优化为 java byte -> dex compiler -> Dalvik byte(优化) -> Dalvik VM (优化) 。

手机 CPU 厂商、架构和指令集分类
CPU 是手机指令运行的核心,可以看做手机的大脑。PC 机上的龙头是 Intel,它基本上垄断了整个 PC 行业。现在手机市场,比较常见的 CPU 有以下几家:

从表格中可以明显看出,中国 CPU 厂商有展讯、联发科和华为三家,但是其总和的市场份额,都抵不上高通一家。中兴通讯采用的 CPU 就有大部分来自高通,这也是中国受制于美国的原因之一。
CPU 诞生在上世纪 70 年代,近 40 年的发展,诞生了很多架构,比如x86、ARM、MIPS、IA64等。绝大多数手机端的 CPU 采用 ARM 架构,而不是统治 PC 端 Intel 的 x86 。造成这个结果的原因和它们采用的指令集有关。
指令集是 CPU 能够识别的命令集合。所有的 CPU 指令集可以分为两种:RISC (Reduced Instruction Set Computer) 和 CISC (Complex Instruction Set Computer)。RISC 翻译成中文是精简指令集,被现在的ARM 架构采用;CISC 表示复杂指令集,由 intel 的 x86 架构采用。
RISC 指令集删除了 CISC 中不常用的指令集,而且对一些容易的指令集进行整合,具有较高的运行效率。早期 Intel 公司的 x86 绑定了微软的 windows 操作系统,而且一直采用向下兼容的方式,完全符合用户的习惯,后面依靠惯性一直前行到今天。但是在新兴的手机端,RISC 效率高的优势就体现出来了。RISC 基本成为了手机 CPU 默认指令集。
ADB 常用命令
ADB 是 Android Debug Bridge 的简称,也就是 Android 手机调回桥的意思。 ADB 仿佛是手机的遥控器,能够对手机上的各种配置和文件进行更改和删减。常用的 ADB 命令有:
1 adb devices : 查看手机设备数量
2 adb start-server :开启 adb 服务
3 adb kill-server :关闭 adb 服务
4 adb logcat :查看手机日志
5 adb shell :进入手机系统
6 adb install :安装应用程序
7 adb uninstall :卸载应用程序
8 adb pull: 将文件下载到特定目录
9 adb push :将文件放到手机中
Android 常用 4 大布局
1 线性布局:可以相互嵌套
2 相对布局: 所有的控件都是相对方式排列
3 表格布局
4 帧布局
5 约束布局
Android 尺寸单位
1 px 像素值,指实际像素数。例如我们经常看到的手机分辨率是 1080 x 1920 ,单位就是像素。
2 dp /dip :dp 是 dip 的简称 ,全称是 density independent pixels , 表示屏幕密度无关的像素。它代表手机屏幕实际的显示点,而每个点的像素数却不同。好屏幕,每个点的像素数多,图像较清晰;差的屏幕,每个点像素数少,图像就较模糊。开发中多采用此单位作为空间尺寸。
3 sp:用于文本字体大小。当用户修改设备字体大小时,文字会自动适配。
以上是 Android 入门的基础知识,包括 Android 的起源历史、和苹果的市场关系,以及手机系统采用 CPU 的知识。后面介绍了 Android 开发需要掌握的布局概念和尺寸单位。大视角看到的都是见闻,后面的小视角才是开发者最长接触的技术。既然入坑,以后就要用细挖掘,用心寻找底部的知识源泉。同行的小伙伴,你在哪里?