这是我参与「第四届青训营 」笔记创作活动的第1天
今天我们学习了Android系统及客户端概览
一、Android知识图谱
1、对外(用户):为用户创造价值
第一层交付:页面+逻辑+数据
第二层交付:多样性需求
第三层交付:体验+质量+安全+个性化
2、对内(公司):对内都是成本,对外才是收益
第一层交付:单人效能
第二层交付:团队效能
3、自身:自身也是产品,自身的技术品牌
第一层交付:满足交付的基本技能
第二层交付:打造自身的技术高度
第三层交付:君子不器,培养自己的综合素养
二、认识Android系统
1、Android系统架构
Android系统采用分层架构,分为五大层次,从上到下分别是:系统应用层、Java API层、原生C/C++层和Android Runtime、硬件抽象层、Linux内核,其中每一层都包含大量的子模块或子系统。
Android底层内核空间以Linux Kernel作为基石,上层用户空间由Native系统库、虚拟机运行环境、框架层组成,通过系统调用(Syscall)连通系统的内核空间与用户空间。对于用户空间主要采用C++和Java代码编写,通过JNI技术打通用户空间的Java层和Native层(C++/C),从而连通整个系统。
2、Git
Git:分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
功能:
克隆版本库、通过暂存区控制提交、git忽略、创建和合并分支、修改代码等等
优点:
适合分布式开发,强调个体;公共服务器压力和数据量都不会太大;速度快、灵活;任意两个开发者之间可以很容易的解决冲突;离线工作。
缺点:
资料少;学习周期相对而言比较长;不符合常规思维;代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
常用命令:
1、本地设置:
git config --global user.name "xxx" # 配置用户名
git config --global user.email "xxx@xxx.com" # 配置邮件
2、创建本地仓库:
git init # 初始化本地git仓库(创建新仓库)
git clone <url> # clone远程仓库
git pull # 取回远程主机某个分支的更新,再与本地的指定分支合并
3、本地分支
git branch <branch-name> # 创建
git checkout <branch-name> # 切换
4、提交
git add . # 增加当前子目录下所有更改过的文件至index
git commit -m 'xxx' # 提交
git commit --amend -m 'xxx' # 合并上一次提交(用于反复修改)
git push # 将本地分支的更新,推送到远程主机