安卓系统及客户端概览 课后笔记 | 青训请笔记
这是我参与「第四届青训营 - Android」笔记创作活动的的第1篇笔记
课程内容
这门课收获收获
- 认知安卓开发的庞大知识图谱
- 了解客户端成长的上限
- 课程培训的体系化认知
课程的目录
1. 从移动生态讲起
1.1 移动互联网
- 手机为人获取信息的最主要媒介
- 人与人之间的关系
- 客户端是离用户最近的研发
1.2 组织内部的结构
- 团队开发 协作完成
- 上限很高
1.3 国内app赛道
2. Android知识图谱
2.1 简化的模型
- 对外:解决用户需要
- 对内:平衡成本与收益最大
- 自身:打造自己 提升自我 保持价值
2.2 对外
- 第一层:基础实现
- 页面:下方轮盘+上方小球
安卓基础+复杂view- 逻辑:让小球转动更自然(贝塞尔曲线)
语言+代码结构- 数据:是否中奖 动画是根据数据返回结果 进行
网络、存储- 第二层:多样性需求
- 视频、直播、AR、图像、游戏
- 复杂性
- 庞大的代码量
- 第三层:体验+质量+安全+个性化
- 体验:耗时 性能 空间
- 质量:错误 稳定性
- 安全:刷量 泄露 隐私
- 个性化: 端智能 精细场景
2.3 对内
- 第一层交付:单人效能 效率↑
- 编译
- CICD
- 工具
- 第二层交付:团队效能 解耦 同步
- 工程架构:整体
- 业务架构:某个功能
- 流程管理:定容(评估)
- 跨平台:Flutter语言 通用性解决
2.4 自身
- 第一层交付:基础技能
- Android系统认知
- 语言熟练
- 基本素养(代码质量 业务理解 合作)
- 第二层交付:专业知识
- 扬长避短 放大某一方向
- 领域达到行业20% 1——延长 2——上限提高 3——明星级
- 系统底层 架构设计 业务能力
- 第三层交付:综合素养
- 思维: 系统、结构化、批判
- 认知:个人、自控力
- 开放:持续学习、开源、积极性
- 发展:被动思考到主动思考+
3. 认识Android系统
- 系统应用程序 APP
- Java API 为开发者提供接口
- C/C++ 虚拟机
- 硬件抽象层
- Linux内核
APK
- AndroidMainfest.xml:四大组件、权限
- classes.dex:代码
- res:资源
- lib:C/C++代码的so文件
- META-INF:签名和证书(校验 安全)
4 认识工具
1. Android Studio
2. git
- 安装git
- 在Android Studio上配置git
- 常用操作:
个人总结
对于安卓知识学习 个人认知
- 安卓的知识体系很广
- 入门:了解大致框架(所需知识),再细化(学习其中不会或模糊的知识)
- 进阶:持续学习,深入了解所需知识和最新相关知识
对于个人发展 个人理解
- 想要保持及提升职位,需要有某方面或多方面突出
(不限于:管理、技术、架构、业务 等) - 要保持
- 学习
- 愚笨
- 好奇
- 多从用户的角度思考
- 提升效率(学习最新或最有效工具、熟悉工具、学习相关知识 优化体系 等)
- 认知自我
引用参考