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

93 阅读3分钟

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

01 移动生态

image.png

02 Android知识图谱

对外:用户——为用户创造价值,对内:公司——节约成本,自身——自身也是产品。

对外:用户——为用户创造价值

第一层交付:页面+逻辑+数据

页面:Android基础,复杂view(UI编程)。页面里有什么

逻辑:语言,代码结构。需求是什么

数据:网络(云端数据),存储。如果是抽奖,那就是网络请求,在转动之前就已经知道知否会中奖。

第二层交付:多样化需求。

视频、直播、ar、图像、游戏

第三层交付:体验+质量+安全+个性化

image.png

端智能比云端智能离用户更近

对内:公司——节约成本

第一层交付:单人效能

image.png

第二层交付:团队效能

内部耦合太严重,影响开发效率。梳理项目结构:架构师

image.png

自身——自身也是产品

第一层交付:满足交付的基本技能

image.png 第二层交付:打造自身的技术高度

image.png

第三层交付:君子不器,培养自己的综合素养

image.png

03 认识Android系统

系统应用层:

image.png

这一层就是各App所在的最上层了,我们自已开发的App和系统自带的App都在这层,两种App本质上没有太大区别。一些系统的App提供的功能我们可以直接调用,比如打电话、发短信等,当然我们自己开发的app也可以给其他产品提供类似的调用功能。

java API层:

image.png

这层就是Android Framework提供给开发者的接口,我们可以基于这些接口打造各自的App。在这一层主要的技术栈就是最基础的交付内容,包括页面+逻辑+页面,一些多媒体相关的需求也有成熟的api可以直接使用。

原生C/C++层和Android Runtime

image.png

一些核心的系统服务和组件是C/C++编写的,我们可以用Android NDK直接从原生代码访问某些原生平台库。从这一层往下, 一些 多样化的需求就可 以被满足的很好,比如音视频编解码、安全、质量、体验等。

硬件抽象层(HAL)

image.png

主要提供硬件组件的封装,包括相机、传感器和蓝牙等。当框架API要求访问设备硬件时,Android系统将为该硬件组件加载库模块。 Linux内核

image.png

Android平台的基础是Linux内核。例如,Android Runtime (ART)依靠Linux内核来执行底层功能,例如线程和内存管理。使用Linux内核可让Android利用主要安全功能,并且允许设备制造商为著名的内核开发硬件驱动程序。

04 认识工具

使用Git仓库 1、本地设置:

git config --global user name "your name"

git config --global user.email "youremail@ github.com

2、创建本地仓库 git init

git clone

git pull