Android系统及客户端概览|青训营笔记

120 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第1天

一.Android概览

1.客户端

客户端(Client)或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。除了一些只在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务端互相配合运行 [1]  。

2.Android整体划分

整体而言,可分为三部分:对外、对内、自身。

 对外指的就是对用户,要为用户创造价值。对外要考虑到三层交付:第一层为页面+逻辑+数据,第二层为要考虑到多样性需求,第三层为体验+质量+个性+安全。

 对内指的就是对公司,要尽可能地在成本最小的情况下达到最大的收益。要考虑到两层交付:对自己而言是单人效能,对团队而言是团队效能。

 对自身就是对个人,要为自身的技术品牌负责。 也要考虑到三层交付:满足交付的基本技能、打造自身的技术高度、培养自己的综合素养。

二.Android的体系架构

image.png

1.系统应用层

这一层就是APP所在的最上层,我们自己开发的App和系统自带的APP都在这一层。一些系统的APP提供的功能可以直接调用,比如打电话、发短信等。

2.JAVA API层

这一层是Android Framework提供给开发者的接口,可以基于这些接口打造各自的APP。在这一层上主要的技术就是最基础的交付内容

3.原生C/C++层和Android Runtime

这一层是一些核心的系统服务和组件,是由C/C++编写的,可以直接用NDK从原生代码访问某些原生平台库 。

4.硬件抽象层

主要提供硬件组件的封装,包括相机、传感器和蓝牙等。

5.Linux内核

Android的基础是Linux内核。例如:ART依靠Linux内核来执行底层功能。