这是我参与「第四届青训营 」笔记创作活动的第1天
》》「第一篇笔记」《《
一、移动互联生态环境
人们了解世界的方式,在过去100多年发生了翻天覆地的变化,目前在移动互联的世界,主要手段是手机和app的媒介
移动互联网自始至今,发展历途不超过20年,却已普及家家户户。 其根本原因在于移动互联网的本质-互联与通信,以雪球效益日益壮大,至今已然成熟发展。 而让其本质以容易理解的方式呈现于用户面前的,则是一个又一个的移动应用开发、维护等支撑团队。
而一个团队的基本内部流程-交付图大致如下:
移动互联网的新兴,虽是大势使然,却也离不开众多幕后团队。
二、Android知识图谱
1、三个方向:
对Android客户端开发来说,我们面对的角色主要为三个方向:
- 对外(用户):为用户创造价值。
- 对内(公司):对内都是成本,对外才是收益。
- 自身(个人):自身也是产品,自身的技术品牌。
2、三个方向详解:
对外:创造用户价值
第一层交付:简单交付
简单交付:实现应用的核心-一个能满足基础需求的应用
技能知识需求:交互设计、逻辑设计、语言基础、网络基础
第二层交付:多样性需求
多样性需求交付:实现应用的功能多样化-一个能满足多项需求的集成应用
技能知识需求:需求方向进阶性内容
第三层交付:优化
经过前两层的交付后产生的应用,肯定已具规模,不论是用户数还是应用本身。所以现在所需要的不再是多样性也不需要加入更多的功能,更集成的布局。而是需要应用更具有稳定性、安全性与流畅性,或许再多一个个性定制化。
技能知识需求:Android系统,底层引擎,安全,Hook,机器学习,端智能,网络安全等
对内:节省成本
第一层交付:单人效能
单人效能:一个人可言效能,一群人组成的团队也有其效能。一个团队总效能基础组成单位便是个体效能。个人效能起来了,团体的效能才能上去,才能达到企业缩减成本目的的基础条件。
技能知识需求:编译原理,全栈,流程管理,多工具使用
第二层交付:团队和公司效能
团队和公司效能:如单人效能所言,集体由个体组成,当人数达到一定规模,管理架构便成为了重中之重。提升团体的整体管理效率、作业架构模式与提升作业可复用率,为的就是达到1+1不小于2甚至要大于2的结果。
技能知识需求:架构设计,代码范式设计,跨端技术,大前端
自身:打造技术品牌
第一层交付:满足交付的基本技能
第二层交付:打造自身的技术高度
第三层交付:君子不器,培养自己的综合素养
一、二小节总结:
从宏观认识未来,从细节把握未来。
从文字认识世界,从己身发展技术。
三、认识Android系统
Android平台架构图:
1、架构图解析:
- 系统应用层:
安卓系统最上层,最接近用户的一层。 系统应用层的App分为两类:普通开发应用,系统应用。两者间无本质区别。
- Java API层
这层就是Android Framework提供给开发者的接口,我们可以基于这些接口打造各自的App。 在开发过程中,如果有需要,主要是调用的本层的一些成熟的API。
-
原生C/C++层和Android Runtime
-
原生C/C++一些核心的系统服务和组件是C/C++编写的,我们可以用Android NDK 直接从原生代码访问某些原生平台库。从这一层往下,一些多样化的需求就可以被满足的很好,比如音视频编解码、安全、质量、体验等。
-
Android Runtime这一层就会涉及虚拟机的知识,在一层会把DEX字节码进行编译,优化执行效率。在一层我们可以做一些体验相关的优化,让代码运行更高效。
-
-
硬件抽象层(HAL)
对硬件的操作,需要用到的一层。
- Linux内核
Android平台的基础是Linux内核,属于整个Android架构的最底层的系统。
2、APK构成
APK本质是一个压缩包,解压后如下图:
其一般包含:
AndroidManifest.xml:生命app中四大组件,以及权限等 。
classes.dex:所有编写的java、kotlin等代码 。
res文件夹:资源文件夹,包括图片、颜色、字符串, 以及搭建的XML布局文件 。
resources.arsc:资源索引。
Iib文件夹:主要是存放C/C++代码编译成的so文件 。
META-INF文件夹:存在签名和证书,用于校验和安全。
四、认识工具
五、Git库
1、Git基础
Workspace:工作区,本地电脑存放项目文件的地方,自己来指定位置
Remote Repository:远程仓库,也就是代码存在的地方
Local Repository:本地仓库,也就是把代码拉取到本地存放的地方
Index/Stage:本地仓库的暂存区
总结:
本节课程:
1、了解到了Android的部分宏观视角内容,使我对未来的规划能更加的清晰。
2、了解的Android平台的基础架构,对Android的认识更加的清楚。
3、Git基础内容与基本工作流程。
4、在学习某样事物前,对事物进行宏观上的了解,是有利于后续的细化学习的。
此类引用块为引用课上或课件资料内容
「本篇笔记,多数图片均为引用」
「本篇笔记,部分内容仅个人观点」