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

64 阅读2分钟

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

学习了这么多天的android客户端,我也跟着老师学到了很多东西,但是我觉得一切都要回归到最初的一节课,什么是客户端,什么是安卓系统。

什么是客户端

在移动互联网的世界,人们了解世界的方式,大多是通过互联网,主要手段是手机和APP的媒介,APP为人们提供各种有用的信息,表面上看好像是人与机器在交互,实际上,是人与APP背后的客户端开发人员在交互,客户端负责把用户需要的信息从服务器端获取然后再呈现给用户,所以,人与软件交互,实际上是人与人在交互,而客户端是一个媒介,充当了人与服务器之间的非常高效的媒介。

a1fe8e831630f5f0fffaeee57fd79cf.jpg 但是客户端不是单纯意义上的人与服务端的桥梁,客户端善于发现用户需求,主动为用户搭建用户连通服务端的桥梁。

交付

对外 - 为用户创造价值 第一层交付: 页面+逻辑+数据

994db303fcc86383443a58bb404f5b8.png 这层交付是最基本的,需要给用户展示良好的页面,提供符合预期的逻辑功能,并且获取和展示数据。 我和队友合作只实现了这一步,后面的第二层交付,第三层交付就不太懂了。

认识安卓系统

安卓平台架构图

0d1affabfb502b92afdccc6db356863.jpg

1.系统应用层

安卓系统最上层是系统应用层 自己开发的APP,和系统自带的APP都在这一层

2、  Java ****API 

这层就是Android Framework提供给开发者的接口,我们可以基于这些接口打造各自的App。

3、原生 C/C++层

一些核心的系统服务和组件是用C/C++写的。

4、Android Runtime

这一层就会涉及虚拟机的知识,在一层会把DEX字节码进行编译,优化执行效率。在一层我们可以做一些体验相关的优化,让代码运行更高效。所需要的技术门槛也就更高一些。

5、硬件抽象层 (HAL)

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

6、Linux 内核

Android 平台的基础是 Linux 内核。