安卓系统及客户端概览 课后笔记 | 青训营笔记

169 阅读3分钟

安卓系统及客户端概览 课后笔记 | 青训请笔记

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

课程内容

这门课收获收获

  1. 认知安卓开发的庞大知识图谱

    Android 进阶路线(思维导图) - 掘金 (juejin.cn)

  2. 了解客户端成长的上限
  3. 课程培训的体系化认知

课程的目录

1. 从移动生态讲起

1.1 移动互联网
  • 手机为人获取信息的最主要媒介
  • 人与人之间的关系
  • 客户端是离用户最近的研发
1.2 组织内部的结构
  • 团队开发 协作完成
  • 上限很高
1.3 国内app赛道

国内app赛道.png

2. Android知识图谱

2.1 简化的模型
  • 对外:解决用户需要
  • 对内:平衡成本与收益最大
  • 自身:打造自己 提升自我 保持价值
2.2 对外
  • 第一层:基础实现
    1. 页面:下方轮盘+上方小球
      安卓基础+复杂view
    2. 逻辑:让小球转动更自然(贝塞尔曲线)
      语言+代码结构
    3. 数据:是否中奖 动画是根据数据返回结果 进行
      网络、存储
  • 第二层:多样性需求
    1. 视频、直播、AR、图像、游戏
    2. 复杂性
    3. 庞大的代码量
  • 第三层:体验+质量+安全+个性化
    1. 体验:耗时 性能 空间
    2. 质量:错误 稳定性
    3. 安全:刷量 泄露 隐私
    4. 个性化: 端智能 精细场景
2.3 对内
  • 第一层交付:单人效能 效率↑
    1. 编译
    2. CICD
    3. 工具
  • 第二层交付:团队效能 解耦 同步
    1. 工程架构:整体
    2. 业务架构:某个功能
    3. 流程管理:定容(评估)
    4. 跨平台:Flutter语言 通用性解决
2.4 自身
  • 第一层交付:基础技能
    1. Android系统认知
    2. 语言熟练
    3. 基本素养(代码质量 业务理解 合作)
  • 第二层交付:专业知识
    1. 扬长避短 放大某一方向
    2. 领域达到行业20% 1——延长 2——上限提高 3——明星级
    3. 系统底层 架构设计 业务能力
  • 第三层交付:综合素养
    1. 思维: 系统、结构化、批判
    2. 认知:个人、自控力
    3. 开放:持续学习、开源、积极性
  • 发展:被动思考到主动思考+ 程序员发展金字塔.png

3. 认识Android系统

  • 系统应用程序 APP
  • Java API 为开发者提供接口
  • C/C++ 虚拟机
  • 硬件抽象层
  • Linux内核

APK

  • AndroidMainfest.xml:四大组件、权限
  • classes.dex:代码
  • res:资源
  • lib:C/C++代码的so文件
  • META-INF:签名和证书(校验 安全)

4 认识工具

1. Android Studio
  1. 安装Android Studio
  2. 使用操作
2. git
  1. 安装git
  2. 在Android Studio上配置git
  3. 常用操作:git操作.jpg

个人总结

对于安卓知识学习 个人认知

  1. 安卓的知识体系很广
  2. 入门:了解大致框架(所需知识),再细化(学习其中不会或模糊的知识)
  3. 进阶:持续学习,深入了解所需知识和最新相关知识

对于个人发展 个人理解

  1. 想要保持及提升职位,需要有某方面或多方面突出
    (不限于:管理、技术、架构、业务 等)
  2. 要保持
    • 学习
    • 愚笨
    • 好奇
    • 多从用户的角度思考
    • 提升效率(学习最新或最有效工具、熟悉工具、学习相关知识 优化体系 等)
    • 认知自我

引用参考