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

113 阅读2分钟

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

主要为思维导图大纲,收集课堂要点和一些补充知识
欢迎补充&指正

andorid 系统及客户端概览

1.客户端:人与人交流

app:吸引人的注意力

2.知识图谱

模型

  • 1.对外:用户创造价值(收益)

    • 第一层(简单)交付

      • 页面

        • Andorid基础
        • 复杂view
      • 逻辑

        • 语言
        • 代码结构
      • 数据

        • 网络
        • 存储
    • 第二层交付(多样性需求)

      • 视频

        • 视频格式、编解码
        • 视频创作
      • 直播

        • 直播录制
        • 直播流
      • AR

      • 图像

        • 图像格式
        • 拍照美颜
      • 游戏

    • 第三层交付

      • 体验

        • 耗时
        • 卡顿
        • 资源调用
      • 质量

        • 崩溃
        • 错误
      • 安全

        • 刷量
        • 泄露
        • 隐私
      • 个性化

        • 端智能
        • 精细场景
  • 2.对内:公司成本

    • 第一层交付:单人效能(提高团队效率)

      • 编译

        • Gradle编译
        • 编译流程优化
      • CICD

        • 发布
        • 集成
      • 工具

        • 云构建
        • 机架
    • 第二层交付:团队效能

      • 工程架构

        • 组件化
        • 代码重构
      • 业务架构

        • 代码架构
        • 开发范式
      • 流程管理

        • 定容
        • 管理平台
      • 跨平台

        • Flutter
        • Lynx
  • 3.自身:个人提升

    • 第一层交付

      • Android系统

        • 基本功能开发
        • 了解Framework
        • 了解系统
      • 语言熟练Java/Kotlin

        • 基本特性
        • 语法和高效写法
      • 基本素养

        • 代码质量
        • 业务理解
        • 协同合作
    • 第二层交付(长板 达到20%)

      • 系统底层

        • Android原理
        • linux内核
        • Andorid Runtime
      • 架构设计

        • 大型App架构
        • 复杂工程管理
      • 业务能力

        • 大型项目协同
        • 组织管理
    • 第三层交付

      • 思维

        • 系统性思维
        • 结构化思维
        • 批判性思维
      • 认知

        • 个人认知
        • 自控力
      • 开放

        • 技术好奇心
        • 持续学习
        • 开源

3.Andorid系统

层次

  • 系统应用System app
  • Java API FrameWork
  • 原生c++、c 层 Andorid Runtime
  • 硬件抽象层:HAL
  • Linux 内核

APK组成

  • AndoridManifest.xml

    • 四大组件、权限
  • classes.dex

    • Java、kotlin代码
  • res文件夹

    • 资源文件夹(图片、颜色、字符串、xml布局文件)
  • lib文件夹

    • c/c++代码编译成的so文件
  • META-INF文件夹

    • 存放签名、证书,用于校验和安全

git代码仓库

- Workspace:本地电脑工作区(项目文件)
- remote respository:远程仓库(代码所在)
- Local repository:本地仓库
- index/stage 本地仓库暂存区
  • 1.本地设置:git config --global user.name ''yourname''

  • 2.创建本地仓库

    • git init git clone git pull
  • 3.本地分支

    • 创建:git branch

    • 切换

      • git checkout
  • 4.提交

    • git add git commit-m''commit_info'' git push